2019-07-16 20:19:11 -06:00
|
|
|
# list depends here.
|
2021-02-24 16:58:31 -07:00
|
|
|
add_subdirectory(lodepng)
|
2023-03-23 18:29:39 -06:00
|
|
|
add_subdirectory(lua)
|
2023-06-19 18:40:40 -06:00
|
|
|
add_subdirectory(md5)
|
2022-12-07 12:59:48 -07:00
|
|
|
add_subdirectory(protobuf)
|
2023-06-19 18:40:40 -06:00
|
|
|
|
2023-03-23 18:29:39 -06:00
|
|
|
if(UNIX)
|
|
|
|
set_target_properties(lua PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations -Wno-deprecated-enum-enum-conversion")
|
2023-06-25 18:53:16 -06:00
|
|
|
set_target_properties(protoc PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations -Wno-restrict")
|
|
|
|
set_target_properties(protoc-bin PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations -Wno-restrict")
|
|
|
|
set_target_properties(protobuf-lite PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations -Wno-restrict")
|
|
|
|
set_target_properties(protobuf PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations -Wno-restrict")
|
2023-03-23 18:29:39 -06:00
|
|
|
endif()
|
2022-12-07 12:51:28 -07:00
|
|
|
|
|
|
|
if(UNIX AND NOT APPLE) # remove this once our MSVC build env has been updated
|
2022-12-07 12:59:48 -07:00
|
|
|
option(INSTALL_GTEST "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" OFF)
|
2022-11-28 18:16:48 -07:00
|
|
|
add_subdirectory(googletest)
|
2022-11-30 06:12:01 -07:00
|
|
|
if(UNIX)
|
2023-03-23 18:29:39 -06:00
|
|
|
set_target_properties(gtest PROPERTIES COMPILE_FLAGS "-Wno-maybe-uninitialized -Wno-sign-compare -Wno-restrict")
|
2022-11-30 06:12:01 -07:00
|
|
|
endif()
|
2022-11-30 06:34:39 -07:00
|
|
|
endif()
|
2016-06-26 17:48:55 -06:00
|
|
|
|
|
|
|
# Don't build tinyxml if it's being externally linked against.
|
|
|
|
if(NOT TinyXML_FOUND)
|
|
|
|
add_subdirectory(tinyxml)
|
|
|
|
endif()
|
|
|
|
|
2012-03-13 07:46:48 -06:00
|
|
|
add_subdirectory(tthread)
|
2019-07-16 20:19:11 -06:00
|
|
|
option(JSONCPP_WITH_TESTS "Compile and (for jsoncpp_check) run JsonCpp test executables" OFF)
|
|
|
|
option(JSONCPP_WITH_POST_BUILD_UNITTEST "Automatically run unit-tests as a post build step" OFF)
|
2022-05-13 14:52:43 -06:00
|
|
|
option(JSONCPP_BUILD_SHARED_LIBS "Build jsoncpp_lib as a shared library." OFF)
|
|
|
|
option(JSONCPP_BUILD_OBJECT_LIBS "Build jsoncpp_lib as a object library." OFF)
|
|
|
|
option(JSONCPP_WITH_CMAKE_PACKAGE "Generate and install cmake package files" OFF)
|
|
|
|
|
2018-07-08 22:16:08 -06:00
|
|
|
add_subdirectory(jsoncpp-sub EXCLUDE_FROM_ALL)
|
2012-03-13 10:10:46 -06:00
|
|
|
# build clsocket static and only as a dependency. Setting those options here overrides its own default settings.
|
2019-07-16 20:19:11 -06:00
|
|
|
option(CLSOCKET_SHARED "Build clsocket lib as shared." OFF)
|
|
|
|
option(CLSOCKET_DEP_ONLY "Build for use inside other CMake projects as dependency." ON)
|
2012-03-13 10:10:46 -06:00
|
|
|
add_subdirectory(clsocket)
|
2019-07-16 20:19:11 -06:00
|
|
|
ide_folder(clsocket "Depends")
|
2020-08-08 16:24:12 -06:00
|
|
|
|
2021-02-24 20:32:44 -07:00
|
|
|
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/luacov/src/luacov/ DESTINATION ${DFHACK_DATA_DESTINATION}/lua/luacov)
|
|
|
|
|
2020-09-16 22:25:50 -06:00
|
|
|
# set the default values of libexpat options - the descriptions are left empty
|
|
|
|
# because later option() calls *do* override those
|
|
|
|
set(EXPAT_BUILD_EXAMPLES OFF CACHE BOOL "")
|
|
|
|
set(EXPAT_BUILD_TESTS OFF CACHE BOOL "")
|
|
|
|
set(EXPAT_BUILD_TOOLS OFF CACHE BOOL "")
|
|
|
|
set(EXPAT_SHARED_LIBS OFF CACHE BOOL "")
|
|
|
|
set(EXPAT_BUILD_DOCS OFF CACHE BOOL "")
|
2020-09-17 22:33:41 -06:00
|
|
|
set(EXPAT_ENABLE_INSTALL OFF CACHE BOOL "")
|
2020-09-16 22:25:50 -06:00
|
|
|
add_subdirectory(libexpat/expat)
|
2022-02-04 14:35:06 -07:00
|
|
|
if(UNIX)
|
2022-02-05 17:05:10 -07:00
|
|
|
set_target_properties(expat PROPERTIES COMPILE_FLAGS "-Wno-maybe-uninitialized")
|
2022-02-04 14:35:06 -07:00
|
|
|
endif()
|
2020-08-08 21:18:43 -06:00
|
|
|
|
2022-05-13 14:40:17 -06:00
|
|
|
set(CMAKE_REQUIRED_QUIET ON)
|
2020-09-17 22:33:41 -06:00
|
|
|
set(LIBZIP_BUILD_DOC OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_BUILD_EXAMPLES OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_BUILD_REGRESS OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_BUILD_SHARED_LIBS OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_BUILD_TOOLS OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_ENABLE_BZIP2 OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_ENABLE_COMMONCRYPTO OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_ENABLE_GNUTLS OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_ENABLE_LZMA OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_ENABLE_MBEDTLS OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_ENABLE_OPENSSL OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_ENABLE_WINDOWS_CRYPTO OFF CACHE BOOL "")
|
|
|
|
set(LIBZIP_DO_INSTALL OFF CACHE BOOL "")
|
|
|
|
add_subdirectory(libzip)
|
2020-11-09 21:41:43 -07:00
|
|
|
if(MSVC)
|
|
|
|
target_compile_options(zip PRIVATE /wd4244)
|
|
|
|
endif()
|
2020-08-08 21:04:46 -06:00
|
|
|
|
2020-09-17 22:33:41 -06:00
|
|
|
set(XLSXIO_USE_DFHACK_LIBS ON CACHE BOOL "")
|
|
|
|
set(XLSXIO_BUILD_STATIC ON CACHE BOOL "")
|
|
|
|
set(XLSXIO_BUILD_SHARED OFF CACHE BOOL "")
|
|
|
|
set(XLSXIO_BUILD_DOCUMENTATION OFF CACHE BOOL "")
|
|
|
|
set(XLSXIO_BUILD_EXAMPLES OFF CACHE BOOL "")
|
|
|
|
set(XLSXIO_BUILD_TOOLS OFF CACHE BOOL "")
|
|
|
|
set(XLSXIO_WITH_LIBZIP ON CACHE BOOL "")
|
|
|
|
set(XLSXIO_ZLIB_DIR "${ZLIB_DIR}" CACHE PATH "")
|
|
|
|
set(XLSXIO_LIBZIP_DIR "${CMAKE_CURRENT_BINARY_DIR}/libzip" CACHE PATH "")
|
|
|
|
set(XLSXIO_EXPAT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libexpat" CACHE PATH "")
|
|
|
|
set(XLSXIO_ENABLE_INSTALL OFF CACHE BOOL "")
|
|
|
|
add_subdirectory(xlsxio)
|
2020-11-09 21:41:43 -07:00
|
|
|
if(MSVC)
|
|
|
|
target_compile_options(xlsxio_read_STATIC PRIVATE /wd4013 /wd4244)
|
2020-11-09 21:48:57 -07:00
|
|
|
target_compile_options(xlsxio_write_STATIC PRIVATE /wd4013 /wd4244)
|
2020-11-09 21:41:43 -07:00
|
|
|
endif()
|