From 0ec4d68600b83d41d2e48ad35d18e2a00f234619 Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周六, 21 9月 2019 01:34:22 +0800 Subject: [PATCH] Merge branch 'develop' of https://github.com/open-license-manager/open-license-manager into develop --- src/tools/bootstrap/CMakeLists.txt | 38 +++++++++++++++++++++++++++----------- 1 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/tools/bootstrap/CMakeLists.txt b/src/tools/bootstrap/CMakeLists.txt index 8ea8f08..6bdf996 100644 --- a/src/tools/bootstrap/CMakeLists.txt +++ b/src/tools/bootstrap/CMakeLists.txt @@ -1,10 +1,9 @@ add_executable( bootstrap - Main.cpp + bootstrap.cpp ) - -SET_TARGET_PROPERTIES(bootstrap PROPERTIES LINK_SEARCH_START_STATIC ON) +#SET_TARGET_PROPERTIES(bootstrap PROPERTIES LINK_SEARCH_START_STATIC ON) SET_TARGET_PROPERTIES(bootstrap PROPERTIES LINK_SEARCH_END_STATIC OFF) target_link_libraries( bootstrap @@ -12,15 +11,32 @@ ${EXTERNAL_LIBS} ) -# add the command to generate the source code -add_custom_command ( - OUTPUT "${CMAKE_BINARY_DIR}/src/tools/license-generator/private-key.h" "${CMAKE_BINARY_DIR}/src/library/base/public-key.h" - COMMAND bootstrap "${CMAKE_BINARY_DIR}/src/tools/license-generator/private-key.h" "${CMAKE_BINARY_DIR}/src/library/base/public-key.h" - DEPENDS bootstrap -) +if(MINGW) + #Cross compiling from linux host to windows + IF( ( CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") AND CMAKE_CROSSCOMPILING) + #this is to avoid to install binfmt_misc (for builds in docker, or LXC) + add_custom_command ( + OUTPUT "${CMAKE_BINARY_DIR}/private-key.h" "${CMAKE_BINARY_DIR}/public-key.h" + COMMAND wine ${CMAKE_CURRENT_BINARY_DIR}/bootstrap.exe "${CMAKE_BINARY_DIR}/private-key.h" "${CMAKE_BINARY_DIR}/public-key.h" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS bootstrap) + ELSE() + add_custom_command ( + OUTPUT "${CMAKE_BINARY_DIR}/private-key.h" "${CMAKE_BINARY_DIR}/public-key.h" + COMMAND ./bootstrap.exe "${CMAKE_BINARY_DIR}/private-key.h" "${CMAKE_BINARY_DIR}/public-key.h" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS bootstrap) + ENDIF() +else(MINGW) + add_custom_command ( + OUTPUT "${CMAKE_BINARY_DIR}/private-key.h" "${CMAKE_BINARY_DIR}/public-key.h" + COMMAND bootstrap "${CMAKE_BINARY_DIR}/private-key.h" "${CMAKE_BINARY_DIR}/public-key.h" + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + DEPENDS bootstrap) +endif(MINGW) -add_custom_target(private_key DEPENDS "${CMAKE_BINARY_DIR}/src/tools/license-generator/private-key.h") -add_custom_target(public_key DEPENDS "${CMAKE_BINARY_DIR}/src/library/base/public-key.h") +add_custom_target(private_key DEPENDS "${CMAKE_BINARY_DIR}/private-key.h") +add_custom_target(public_key DEPENDS "${CMAKE_BINARY_DIR}/public-key.h") # add the command to generate the source code -- Gitblit v1.9.1