CMakeLists.txt 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  1. # PhysicsFS; a portable, flexible file i/o abstraction.
  2. # Copyright (C) 2007 Ryan C. Gordon.
  3. #
  4. # Please see the file LICENSE.txt in the source's root directory.
  5. CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
  6. PROJECT(PhysicsFS)
  7. SET(PHYSFS_VERSION 2.0.3)
  8. # Increment this if/when we break backwards compatibility.
  9. SET(PHYSFS_SOVERSION 1)
  10. # I hate that they define "WIN32" ... we're about to move to Win64...I hope!
  11. IF(WIN32 AND NOT WINDOWS)
  12. SET(WINDOWS TRUE)
  13. ENDIF(WIN32 AND NOT WINDOWS)
  14. # Bleh, let's do it for "APPLE" too.
  15. IF(APPLE AND NOT MACOSX)
  16. SET(MACOSX TRUE)
  17. ENDIF(APPLE AND NOT MACOSX)
  18. # For now, Haiku and BeOS are the same, as far as the build system cares.
  19. IF(HAIKU AND NOT BEOS)
  20. SET(BEOS TRUE)
  21. ENDIF(HAIKU AND NOT BEOS)
  22. INCLUDE(CheckIncludeFile)
  23. INCLUDE(CheckLibraryExists)
  24. INCLUDE(CheckCSourceCompiles)
  25. INCLUDE_DIRECTORIES(.)
  26. #INCLUDE_DIRECTORIES(platform)
  27. #INCLUDE_DIRECTORIES(archivers)
  28. IF(MACOSX)
  29. # Fallback to older OS X on PowerPC to support wider range of systems...
  30. IF(CMAKE_OSX_ARCHITECTURES MATCHES ppc)
  31. ADD_DEFINITIONS(-DMAC_OS_X_VERSION_MIN_REQUIRED=1020)
  32. SET(OTHER_LDFLAGS ${OTHER_LDFLAGS} " -mmacosx-version-min=10.2")
  33. ENDIF(CMAKE_OSX_ARCHITECTURES MATCHES ppc)
  34. # Need these everywhere...
  35. ADD_DEFINITIONS(-fno-common)
  36. SET(OTHER_LDFLAGS ${OTHER_LDFLAGS} "-framework Carbon" "-framework IOKit")
  37. ENDIF(MACOSX)
  38. # Add some gcc-specific command lines.
  39. IF(CMAKE_COMPILER_IS_GNUCC)
  40. # Always build with debug symbols...you can strip it later.
  41. ADD_DEFINITIONS(-g -pipe -Werror -fsigned-char)
  42. # Stupid BeOS generates warnings in the system headers.
  43. IF(NOT BEOS)
  44. ADD_DEFINITIONS(-Wall)
  45. ENDIF(NOT BEOS)
  46. CHECK_C_SOURCE_COMPILES("
  47. #if ((defined(__GNUC__)) && (__GNUC__ >= 4))
  48. int main(int argc, char **argv) { int is_gcc4 = 1; return 0; }
  49. #else
  50. #error This is not gcc4.
  51. #endif
  52. " PHYSFS_IS_GCC4)
  53. IF(PHYSFS_IS_GCC4)
  54. # Not supported on several operating systems at this time.
  55. IF(NOT OS2 AND NOT SOLARIS AND NOT WINDOWS)
  56. ADD_DEFINITIONS(-fvisibility=hidden)
  57. ENDIF(NOT OS2 AND NOT SOLARIS AND NOT WINDOWS)
  58. ENDIF(PHYSFS_IS_GCC4)
  59. ENDIF(CMAKE_COMPILER_IS_GNUCC)
  60. IF(MSVC)
  61. # VS.NET 8.0 got really really anal about strcpy, etc, which even if we
  62. # cleaned up our code, zlib, etc still use...so disable the warning.
  63. ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS=1)
  64. ENDIF(MSVC)
  65. # Basic chunks of source code ...
  66. SET(ZLIB_SRCS
  67. zlib123/adler32.c
  68. zlib123/compress.c
  69. zlib123/crc32.c
  70. zlib123/deflate.c
  71. zlib123/gzio.c
  72. zlib123/infback.c
  73. zlib123/inffast.c
  74. zlib123/inflate.c
  75. zlib123/inftrees.c
  76. zlib123/trees.c
  77. zlib123/uncompr.c
  78. zlib123/zutil.c
  79. )
  80. SET(LZMA_SRCS
  81. lzma/C/7zCrc.c
  82. lzma/C/Archive/7z/7zBuffer.c
  83. lzma/C/Archive/7z/7zDecode.c
  84. lzma/C/Archive/7z/7zExtract.c
  85. lzma/C/Archive/7z/7zHeader.c
  86. lzma/C/Archive/7z/7zIn.c
  87. lzma/C/Archive/7z/7zItem.c
  88. lzma/C/Archive/7z/7zMethodID.c
  89. lzma/C/Compress/Branch/BranchX86.c
  90. lzma/C/Compress/Branch/BranchX86_2.c
  91. lzma/C/Compress/Lzma/LzmaDecode.c
  92. )
  93. IF(BEOS)
  94. # We add this explicitly, since we don't want CMake to think this
  95. # is a C++ project unless we're on BeOS.
  96. SET(PHYSFS_BEOS_SRCS platform/beos.cpp)
  97. FIND_LIBRARY(BE_LIBRARY be)
  98. FIND_LIBRARY(ROOT_LIBRARY root)
  99. SET(OPTIONAL_LIBRARY_LIBS ${OPTIONAL_LIBRARY_LIBS} ${BE_LIBRARY} ${ROOT_LIBRARY})
  100. ENDIF(BEOS)
  101. # Almost everything is "compiled" here, but things that don't apply to the
  102. # build are #ifdef'd out. This is to make it easy to embed PhysicsFS into
  103. # another project or bring up a new build system: just compile all the source
  104. # code and #define the things you want.
  105. SET(PHYSFS_SRCS
  106. physfs.c
  107. physfs_byteorder.c
  108. physfs_unicode.c
  109. platform/os2.c
  110. platform/pocketpc.c
  111. platform/posix.c
  112. platform/unix.c
  113. platform/macosx.c
  114. platform/windows.c
  115. archivers/dir.c
  116. archivers/grp.c
  117. archivers/hog.c
  118. archivers/lzma.c
  119. archivers/mvl.c
  120. archivers/qpak.c
  121. archivers/wad.c
  122. archivers/zip.c
  123. ${PHYSFS_BEOS_SRCS}
  124. )
  125. # platform layers ...
  126. IF(UNIX)
  127. IF(BEOS)
  128. SET(PHYSFS_HAVE_CDROM_SUPPORT TRUE)
  129. SET(PHYSFS_HAVE_THREAD_SUPPORT TRUE)
  130. SET(HAVE_PTHREAD_H TRUE)
  131. ELSE(BEOS)
  132. # !!! FIXME
  133. # AC_DEFINE([PHYSFS_HAVE_LLSEEK], 1, [define if we have llseek])
  134. CHECK_INCLUDE_FILE(sys/ucred.h HAVE_UCRED_H)
  135. IF(HAVE_UCRED_H)
  136. ADD_DEFINITIONS(-DPHYSFS_HAVE_SYS_UCRED_H=1)
  137. SET(PHYSFS_HAVE_CDROM_SUPPORT TRUE)
  138. ENDIF(HAVE_UCRED_H)
  139. CHECK_INCLUDE_FILE(mntent.h HAVE_MNTENT_H)
  140. IF(HAVE_MNTENT_H)
  141. ADD_DEFINITIONS(-DPHYSFS_HAVE_MNTENT_H=1)
  142. SET(PHYSFS_HAVE_CDROM_SUPPORT TRUE)
  143. ENDIF(HAVE_MNTENT_H)
  144. CHECK_INCLUDE_FILE(pthread.h HAVE_PTHREAD_H)
  145. IF(HAVE_PTHREAD_H)
  146. SET(PHYSFS_HAVE_THREAD_SUPPORT TRUE)
  147. ENDIF(HAVE_PTHREAD_H)
  148. ENDIF(BEOS)
  149. ENDIF(UNIX)
  150. IF(WINDOWS)
  151. SET(PHYSFS_HAVE_CDROM_SUPPORT TRUE)
  152. SET(PHYSFS_HAVE_THREAD_SUPPORT TRUE)
  153. ENDIF(WINDOWS)
  154. IF(NOT PHYSFS_HAVE_CDROM_SUPPORT)
  155. ADD_DEFINITIONS(-DPHYSFS_NO_CDROM_SUPPORT=1)
  156. MESSAGE(WARNING " ***")
  157. MESSAGE(WARNING " *** There is no CD-ROM support in this build!")
  158. MESSAGE(WARNING " *** PhysicsFS will just pretend there are no discs.")
  159. MESSAGE(WARNING " *** This may be fine, depending on how PhysicsFS is used,")
  160. MESSAGE(WARNING " *** but is this what you REALLY wanted?")
  161. MESSAGE(WARNING " *** (Maybe fix CMakeLists.txt, or write a platform driver?)")
  162. MESSAGE(WARNING " ***")
  163. ENDIF(NOT PHYSFS_HAVE_CDROM_SUPPORT)
  164. IF(PHYSFS_HAVE_THREAD_SUPPORT)
  165. ADD_DEFINITIONS(-D_REENTRANT -D_THREAD_SAFE)
  166. ELSE(PHYSFS_HAVE_THREAD_SUPPORT)
  167. ADD_DEFINITIONS(-DPHYSFS_NO_THREAD_SUPPORT=1)
  168. MESSAGE(WARNING " ***")
  169. MESSAGE(WARNING " *** There is no thread support in this build!")
  170. MESSAGE(WARNING " *** PhysicsFS will NOT be reentrant!")
  171. MESSAGE(WARNING " *** This may be fine, depending on how PhysicsFS is used,")
  172. MESSAGE(WARNING " *** but is this what you REALLY wanted?")
  173. MESSAGE(WARNING " *** (Maybe fix CMakeLists.txt, or write a platform driver?)")
  174. MESSAGE(WARNING " ***")
  175. ENDIF(PHYSFS_HAVE_THREAD_SUPPORT)
  176. CHECK_INCLUDE_FILE(assert.h HAVE_ASSERT_H)
  177. IF(HAVE_ASSERT_H)
  178. ADD_DEFINITIONS(-DHAVE_ASSERT_H=1)
  179. ENDIF(HAVE_ASSERT_H)
  180. # Archivers ...
  181. OPTION(PHYSFS_ARCHIVE_ZIP "Enable ZIP support" TRUE)
  182. IF(PHYSFS_ARCHIVE_ZIP)
  183. ADD_DEFINITIONS(-DPHYSFS_SUPPORTS_ZIP=1)
  184. SET(PHYSFS_NEED_ZLIB TRUE)
  185. ENDIF(PHYSFS_ARCHIVE_ZIP)
  186. OPTION(PHYSFS_ARCHIVE_7Z "Enable 7zip support" TRUE)
  187. IF(PHYSFS_ARCHIVE_7Z)
  188. ADD_DEFINITIONS(-DPHYSFS_SUPPORTS_7Z=1)
  189. # !!! FIXME: rename to 7z.c?
  190. SET(PHYSFS_SRCS ${PHYSFS_SRCS} ${LZMA_SRCS})
  191. ENDIF(PHYSFS_ARCHIVE_7Z)
  192. OPTION(PHYSFS_ARCHIVE_GRP "Enable Build Engine GRP support" TRUE)
  193. IF(PHYSFS_ARCHIVE_GRP)
  194. ADD_DEFINITIONS(-DPHYSFS_SUPPORTS_GRP=1)
  195. ENDIF(PHYSFS_ARCHIVE_GRP)
  196. OPTION(PHYSFS_ARCHIVE_WAD "Enable Doom WAD support" TRUE)
  197. IF(PHYSFS_ARCHIVE_WAD)
  198. ADD_DEFINITIONS(-DPHYSFS_SUPPORTS_WAD=1)
  199. ENDIF(PHYSFS_ARCHIVE_WAD)
  200. OPTION(PHYSFS_ARCHIVE_HOG "Enable Descent I/II HOG support" TRUE)
  201. IF(PHYSFS_ARCHIVE_HOG)
  202. ADD_DEFINITIONS(-DPHYSFS_SUPPORTS_HOG=1)
  203. ENDIF(PHYSFS_ARCHIVE_HOG)
  204. OPTION(PHYSFS_ARCHIVE_MVL "Enable Descent I/II MVL support" TRUE)
  205. IF(PHYSFS_ARCHIVE_MVL)
  206. ADD_DEFINITIONS(-DPHYSFS_SUPPORTS_MVL=1)
  207. ENDIF(PHYSFS_ARCHIVE_MVL)
  208. OPTION(PHYSFS_ARCHIVE_QPAK "Enable Quake I/II QPAK support" TRUE)
  209. IF(PHYSFS_ARCHIVE_QPAK)
  210. ADD_DEFINITIONS(-DPHYSFS_SUPPORTS_QPAK=1)
  211. ENDIF(PHYSFS_ARCHIVE_QPAK)
  212. # See if some archiver required zlib, and see about using system version.
  213. IF(PHYSFS_NEED_ZLIB)
  214. FIND_PACKAGE(ZLIB)
  215. IF(ZLIB_FOUND)
  216. OPTION(PHYSFS_INTERNAL_ZLIB "Link own zlib instead of system library" FALSE)
  217. ELSE(HAVE_SYSTEM_ZLIB)
  218. SET(PHYSFS_INTERNAL_ZLIB TRUE)
  219. ENDIF(ZLIB_FOUND)
  220. IF(PHYSFS_INTERNAL_ZLIB)
  221. INCLUDE_DIRECTORIES(zlib123)
  222. ADD_DEFINITIONS(-DZ_PREFIX=1)
  223. SET(PHYSFS_SRCS ${PHYSFS_SRCS} ${ZLIB_SRCS})
  224. ELSE(PHYSFS_INTERNAL_ZLIB)
  225. SET(OPTIONAL_LIBRARY_LIBS ${OPTIONAL_LIBRARY_LIBS} ${ZLIB_LIBRARY})
  226. INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
  227. ENDIF(PHYSFS_INTERNAL_ZLIB)
  228. ENDIF(PHYSFS_NEED_ZLIB)
  229. OPTION(PHYSFS_BUILD_STATIC "Build static library" TRUE)
  230. IF(PHYSFS_BUILD_STATIC)
  231. ADD_LIBRARY(physfs-static STATIC ${PHYSFS_SRCS})
  232. SET_TARGET_PROPERTIES(physfs-static PROPERTIES OUTPUT_NAME "physfs")
  233. SET(PHYSFS_LIB_TARGET physfs-static)
  234. SET(PHYSFS_INSTALL_TARGETS ${PHYSFS_INSTALL_TARGETS} ";physfs-static")
  235. ENDIF(PHYSFS_BUILD_STATIC)
  236. OPTION(PHYSFS_BUILD_SHARED "Build shared library" TRUE)
  237. IF(PHYSFS_BUILD_SHARED)
  238. ADD_LIBRARY(physfs SHARED ${PHYSFS_SRCS})
  239. SET_TARGET_PROPERTIES(physfs PROPERTIES VERSION ${PHYSFS_VERSION})
  240. SET_TARGET_PROPERTIES(physfs PROPERTIES SOVERSION ${PHYSFS_SOVERSION})
  241. TARGET_LINK_LIBRARIES(physfs ${OPTIONAL_LIBRARY_LIBS} ${OTHER_LDFLAGS})
  242. SET(PHYSFS_LIB_TARGET physfs)
  243. SET(PHYSFS_INSTALL_TARGETS ${PHYSFS_INSTALL_TARGETS} ";physfs")
  244. ENDIF(PHYSFS_BUILD_SHARED)
  245. IF(NOT PHYSFS_BUILD_SHARED AND NOT PHYSFS_BUILD_STATIC)
  246. MESSAGE(FATAL "Both shared and static libraries are disabled!")
  247. ENDIF(NOT PHYSFS_BUILD_SHARED AND NOT PHYSFS_BUILD_STATIC)
  248. # CMake FAQ says I need this...
  249. IF(PHYSFS_BUILD_SHARED AND PHYSFS_BUILD_STATIC)
  250. SET_TARGET_PROPERTIES(physfs PROPERTIES CLEAN_DIRECT_OUTPUT 1)
  251. SET_TARGET_PROPERTIES(physfs-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
  252. ENDIF(PHYSFS_BUILD_SHARED AND PHYSFS_BUILD_STATIC)
  253. OPTION(PHYSFS_BUILD_TEST "Build stdio test program." TRUE)
  254. MARK_AS_ADVANCED(PHYSFS_BUILD_TEST)
  255. IF(PHYSFS_BUILD_TEST)
  256. FIND_PATH(READLINE_H readline/readline.h)
  257. FIND_PATH(HISTORY_H readline/history.h)
  258. IF(READLINE_H AND HISTORY_H)
  259. FIND_LIBRARY(CURSES_LIBRARY NAMES curses ncurses)
  260. SET(CMAKE_REQUIRED_LIBRARIES ${CURSES_LIBRARY})
  261. FIND_LIBRARY(READLINE_LIBRARY readline)
  262. IF(READLINE_LIBRARY)
  263. SET(HAVE_SYSTEM_READLINE TRUE)
  264. SET(TEST_PHYSFS_LIBS ${TEST_PHYSFS_LIBS} ${READLINE_LIBRARY} ${CURSES_LIBRARY})
  265. INCLUDE_DIRECTORIES(${READLINE_H} ${HISTORY_H})
  266. ADD_DEFINITIONS(-DPHYSFS_HAVE_READLINE=1)
  267. ENDIF(READLINE_LIBRARY)
  268. ENDIF(READLINE_H AND HISTORY_H)
  269. ADD_EXECUTABLE(test_physfs test/test_physfs.c)
  270. TARGET_LINK_LIBRARIES(test_physfs ${PHYSFS_LIB_TARGET} ${TEST_PHYSFS_LIBS} ${OTHER_LDFLAGS})
  271. SET(PHYSFS_INSTALL_TARGETS ${PHYSFS_INSTALL_TARGETS} ";test_physfs")
  272. ENDIF(PHYSFS_BUILD_TEST)
  273. OPTION(PHYSFS_BUILD_WX_TEST "Build wxWidgets test program." FALSE)
  274. MARK_AS_ADVANCED(PHYSFS_BUILD_WX_TEST)
  275. IF(PHYSFS_BUILD_WX_TEST)
  276. SET(wxWidgets_USE_LIBS base core adv)
  277. SET(wxWidgets_INCLUDE_DIRS_NO_SYSTEM 1)
  278. FIND_PACKAGE(wxWidgets)
  279. IF(wxWidgets_FOUND)
  280. INCLUDE(${wxWidgets_USE_FILE})
  281. ADD_EXECUTABLE(wxtest_physfs test/wxtest_physfs.cpp)
  282. SET_SOURCE_FILES_PROPERTIES(test/wxtest_physfs.cpp COMPILE_FLAGS ${wxWidgets_CXX_FLAGS})
  283. TARGET_LINK_LIBRARIES(wxtest_physfs ${PHYSFS_LIB_TARGET} ${wxWidgets_LIBRARIES} ${OTHER_LDFLAGS})
  284. SET(PHYSFS_INSTALL_TARGETS ${PHYSFS_INSTALL_TARGETS} ";wxtest_physfs")
  285. ELSE(wxWidgets_FOUND)
  286. MESSAGE(STATUS "wxWidgets not found. Disabling wx test app.")
  287. SET(PHYSFS_BUILD_WX_TEST FALSE)
  288. ENDIF(wxWidgets_FOUND)
  289. ENDIF(PHYSFS_BUILD_WX_TEST)
  290. INSTALL(TARGETS ${PHYSFS_INSTALL_TARGETS}
  291. RUNTIME DESTINATION bin
  292. LIBRARY DESTINATION lib${LIB_SUFFIX}
  293. ARCHIVE DESTINATION lib${LIB_SUFFIX})
  294. INSTALL(FILES physfs.h DESTINATION include)
  295. FIND_PACKAGE(Doxygen)
  296. IF(DOXYGEN_FOUND)
  297. SET(PHYSFS_OUTPUT_DOXYFILE "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile")
  298. CONFIGURE_FILE(
  299. "${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile"
  300. "${PHYSFS_OUTPUT_DOXYFILE}"
  301. COPYONLY
  302. )
  303. FILE(APPEND "${PHYSFS_OUTPUT_DOXYFILE}" "\n\n# Below auto-generated by cmake...\n\n")
  304. FILE(APPEND "${PHYSFS_OUTPUT_DOXYFILE}" "PROJECT_NUMBER = ${PHYSFS_VERSION}\n")
  305. FILE(APPEND "${PHYSFS_OUTPUT_DOXYFILE}" "OUTPUT_DIRECTORY = ${CMAKE_CURRENT_BINARY_DIR}/docs\n")
  306. FILE(APPEND "${PHYSFS_OUTPUT_DOXYFILE}" "\n# End auto-generated section.\n\n")
  307. ADD_CUSTOM_TARGET(
  308. docs
  309. ${DOXYGEN_EXECUTABLE} "${PHYSFS_OUTPUT_DOXYFILE}"
  310. WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
  311. COMMENT "Building documentation in 'docs' directory..."
  312. )
  313. ELSE(DOXYGEN_FOUND)
  314. MESSAGE(STATUS "Doxygen not found. You won't be able to build documentation.")
  315. ENDIF(DOXYGEN_FOUND)
  316. IF(UNIX)
  317. SET(PHYSFS_TARBALL "${CMAKE_CURRENT_SOURCE_DIR}/../physfs-${PHYSFS_VERSION}.tar.bz2")
  318. ADD_CUSTOM_TARGET(
  319. dist
  320. hg archive -t tbz2 "${PHYSFS_TARBALL}"
  321. WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
  322. COMMENT "Building source tarball '${PHYSFS_TARBALL}'..."
  323. )
  324. ENDIF(UNIX)
  325. MACRO(MESSAGE_BOOL_OPTION _NAME _VALUE)
  326. IF(${_VALUE})
  327. MESSAGE(STATUS " ${_NAME}: enabled")
  328. ELSE(${_VALUE})
  329. MESSAGE(STATUS " ${_NAME}: disabled")
  330. ENDIF(${_VALUE})
  331. ENDMACRO(MESSAGE_BOOL_OPTION)
  332. MESSAGE(STATUS "PhysicsFS will build with the following options:")
  333. MESSAGE_BOOL_OPTION("ZIP support" PHYSFS_ARCHIVE_ZIP)
  334. MESSAGE_BOOL_OPTION("7zip support" PHYSFS_ARCHIVE_7Z)
  335. MESSAGE_BOOL_OPTION("GRP support" PHYSFS_ARCHIVE_GRP)
  336. MESSAGE_BOOL_OPTION("WAD support" PHYSFS_ARCHIVE_WAD)
  337. MESSAGE_BOOL_OPTION("HOG support" PHYSFS_ARCHIVE_HOG)
  338. MESSAGE_BOOL_OPTION("MVL support" PHYSFS_ARCHIVE_MVL)
  339. MESSAGE_BOOL_OPTION("QPAK support" PHYSFS_ARCHIVE_QPAK)
  340. MESSAGE_BOOL_OPTION("CD-ROM drive support" PHYSFS_HAVE_CDROM_SUPPORT)
  341. MESSAGE_BOOL_OPTION("Thread safety" PHYSFS_HAVE_THREAD_SUPPORT)
  342. MESSAGE_BOOL_OPTION("Build own zlib" PHYSFS_INTERNAL_ZLIB)
  343. MESSAGE_BOOL_OPTION("Build static library" PHYSFS_BUILD_STATIC)
  344. MESSAGE_BOOL_OPTION("Build shared library" PHYSFS_BUILD_SHARED)
  345. MESSAGE_BOOL_OPTION("Build wxWidgets test program" PHYSFS_BUILD_WX_TEST)
  346. MESSAGE_BOOL_OPTION("Build stdio test program" PHYSFS_BUILD_TEST)
  347. IF(PHYSFS_BUILD_TEST)
  348. MESSAGE_BOOL_OPTION(" Use readline in test program" HAVE_SYSTEM_READLINE)
  349. ENDIF(PHYSFS_BUILD_TEST)
  350. # end of CMakeLists.txt ...