forked from townforge/townforge
boost-libs: make this work better on windows
This commit is contained in:
parent
98d41a94d6
commit
8c733fb04d
@ -48,6 +48,9 @@ message(STATUS "CMake version ${CMAKE_VERSION}")
|
||||
|
||||
project(monero)
|
||||
|
||||
list(INSERT CMAKE_MODULE_PATH 0
|
||||
"${CMAKE_SOURCE_DIR}/cmake")
|
||||
|
||||
include(FindCcache) # Has to be included after the project() macro, to be able to read the CXX variable.
|
||||
|
||||
enable_language(C ASM)
|
||||
@ -222,9 +225,6 @@ else()
|
||||
set(Blocks "")
|
||||
endif()
|
||||
|
||||
list(INSERT CMAKE_MODULE_PATH 0
|
||||
"${CMAKE_SOURCE_DIR}/cmake")
|
||||
|
||||
if (NOT DEFINED ENV{DEVELOPER_LOCAL_TOOLS})
|
||||
message(STATUS "Could not find DEVELOPER_LOCAL_TOOLS in env (not required)")
|
||||
set(BOOST_IGNORE_SYSTEM_PATHS_DEFAULT OFF)
|
||||
@ -452,6 +452,47 @@ add_definition_if_function_found(strptime HAVE_STRPTIME)
|
||||
|
||||
add_definitions(-DAUTO_INITIALIZE_EASYLOGGINGPP)
|
||||
|
||||
# Generate header for embedded translations
|
||||
# Generate header for embedded translations, use target toolchain if depends, otherwise use the
|
||||
# lrelease and lupdate binaries from the host
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(generate_translations_header
|
||||
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/translations"
|
||||
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/translations"
|
||||
STAMP_DIR ${LRELEASE_PATH}
|
||||
CMAKE_ARGS -DLRELEASE_PATH=${LRELEASE_PATH}
|
||||
INSTALL_COMMAND cmake -E echo "")
|
||||
include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations")
|
||||
add_subdirectory(external)
|
||||
|
||||
# Final setup for libunbound
|
||||
include_directories(${UNBOUND_INCLUDE})
|
||||
link_directories(${UNBOUND_LIBRARY_DIRS})
|
||||
|
||||
# Final setup for easylogging++
|
||||
include_directories(${EASYLOGGING_INCLUDE})
|
||||
link_directories(${EASYLOGGING_LIBRARY_DIRS})
|
||||
|
||||
# Final setup for liblmdb
|
||||
include_directories(${LMDB_INCLUDE})
|
||||
|
||||
# Final setup for libunwind
|
||||
include_directories(${LIBUNWIND_INCLUDE})
|
||||
link_directories(${LIBUNWIND_LIBRARY_DIRS})
|
||||
|
||||
# Final setup for hid
|
||||
if (HIDAPI_FOUND)
|
||||
message(STATUS "Using HIDAPI include dir at ${HIDAPI_INCLUDE_DIR}")
|
||||
add_definitions(-DHAVE_HIDAPI)
|
||||
include_directories(${HIDAPI_INCLUDE_DIR})
|
||||
link_directories(${LIBHIDAPI_LIBRARY_DIRS})
|
||||
else (HIDAPI_FOUND)
|
||||
message(STATUS "Could not find HIDAPI")
|
||||
endif()
|
||||
|
||||
# Trezor support check
|
||||
include(CheckTrezor)
|
||||
|
||||
if(MSVC)
|
||||
add_definitions("/bigobj /MP /W3 /GS- /D_CRT_SECURE_NO_WARNINGS /wd4996 /wd4345 /D_WIN32_WINNT=0x0600 /DWIN32_LEAN_AND_MEAN /DGTEST_HAS_TR1_TUPLE=0 /FIinline_c.h /D__SSE4_1__")
|
||||
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Dinline=__inline")
|
||||
@ -846,47 +887,6 @@ endif()
|
||||
|
||||
list(APPEND EXTRA_LIBRARIES ${CMAKE_DL_LIBS})
|
||||
|
||||
# Generate header for embedded translations
|
||||
# Generate header for embedded translations, use target toolchain if depends, otherwise use the
|
||||
# lrelease and lupdate binaries from the host
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(generate_translations_header
|
||||
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/translations"
|
||||
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/translations"
|
||||
STAMP_DIR ${LRELEASE_PATH}
|
||||
CMAKE_ARGS -DLRELEASE_PATH=${LRELEASE_PATH}
|
||||
INSTALL_COMMAND cmake -E echo "")
|
||||
include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations")
|
||||
add_subdirectory(external)
|
||||
|
||||
# Final setup for libunbound
|
||||
include_directories(${UNBOUND_INCLUDE})
|
||||
link_directories(${UNBOUND_LIBRARY_DIRS})
|
||||
|
||||
# Final setup for easylogging++
|
||||
include_directories(${EASYLOGGING_INCLUDE})
|
||||
link_directories(${EASYLOGGING_LIBRARY_DIRS})
|
||||
|
||||
# Final setup for liblmdb
|
||||
include_directories(${LMDB_INCLUDE})
|
||||
|
||||
# Final setup for libunwind
|
||||
include_directories(${LIBUNWIND_INCLUDE})
|
||||
link_directories(${LIBUNWIND_LIBRARY_DIRS})
|
||||
|
||||
# Final setup for hid
|
||||
if (HIDAPI_FOUND)
|
||||
message(STATUS "Using HIDAPI include dir at ${HIDAPI_INCLUDE_DIR}")
|
||||
add_definitions(-DHAVE_HIDAPI)
|
||||
include_directories(${HIDAPI_INCLUDE_DIR})
|
||||
link_directories(${LIBHIDAPI_LIBRARY_DIRS})
|
||||
else (HIDAPI_FOUND)
|
||||
message(STATUS "Could not find HIDAPI")
|
||||
endif()
|
||||
|
||||
# Trezor support check
|
||||
include(CheckTrezor)
|
||||
|
||||
if (HIDAPI_FOUND OR LibUSB_COMPILE_TEST_PASSED)
|
||||
if (APPLE)
|
||||
if(DEPENDS)
|
||||
|
14
external/CMakeLists.txt
vendored
14
external/CMakeLists.txt
vendored
@ -104,6 +104,18 @@ set_target_properties(urho3d PROPERTIES
|
||||
set(URHO3D_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/urho3d/lib/${CMAKE_STATIC_LIBRARY_PREFIX}Urho3D${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
add_dependencies(urho3d urho3d_ext)
|
||||
|
||||
if (WIN32)
|
||||
set(BOOTSTRAP_EXT "bat")
|
||||
else()
|
||||
set(BOOTSTRAP_EXT "sh")
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
set(TOOLSET clang)
|
||||
else()
|
||||
set(TOOLSET gcc)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(boost_ext
|
||||
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/boost-libs"
|
||||
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/boost-libs"
|
||||
@ -111,7 +123,7 @@ ExternalProject_Add(boost_ext
|
||||
UPDATE_COMMAND cmake -E echo ""
|
||||
INSTALL_COMMAND cmake -E echo ""
|
||||
CONFIGURE_COMMAND cmake -E echo ""
|
||||
BUILD_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/boost-libs/make_townforge.sh ${CMAKE_CURRENT_SOURCE_DIR}/boost-libs ${CMAKE_CURRENT_BINARY_DIR}/boost-libs "${CXX_SECURITY_FLAGS} -fPIC -DPIC"
|
||||
BUILD_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/boost-libs/make_townforge.sh ${TOOLSET} ${ARCH_WIDTH} ${CMAKE_CURRENT_SOURCE_DIR}/boost-libs ${CMAKE_CURRENT_BINARY_DIR}/boost-libs ${BOOTSTRAP_EXT} "${CXX_SECURITY_FLAGS} -fPIC -DPIC"
|
||||
INSTALL_COMMAND cmake -E echo ""
|
||||
)
|
||||
add_library(boost UNKNOWN IMPORTED)
|
||||
|
2
external/boost-libs
vendored
2
external/boost-libs
vendored
@ -1 +1 @@
|
||||
Subproject commit 2ad032e272d7b83e558d766b76aa8118689855f2
|
||||
Subproject commit c9cb938ccecbc6bb6af6f70ada5266a38575fe36
|
Loading…
Reference in New Issue
Block a user