[cmake] Added generator propagation to subprojects

This commit is contained in:
Snaipe 2016-01-18 21:55:22 +01:00
parent cea364a881
commit 4530d10af7
3 changed files with 16 additions and 2 deletions

View file

@ -7,7 +7,7 @@ include(CMakeParseArguments)
function (cr_add_subproject _NAME)
set (options CMAKE AUTOTOOLS)
set (oneValueArgs GIT PATH PREFIX)
set (oneValueArgs GIT PATH PREFIX GENERATOR)
set (multiValueArgs OPTS IF)
cmake_parse_arguments (ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
@ -41,10 +41,14 @@ function (cr_add_subproject _NAME)
endif ()
if (ARGS_CMAKE)
if (NOT ARGS_GENERATOR)
set (ARGS_GENERATOR ${CMAKE_GENERATOR})
endif ()
set (build_cmds
CONFIGURE_COMMAND ${CMAKE_COMMAND} <SOURCE_DIR>
-DCMAKE_INSTALL_PREFIX=${install_prefix}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-G "${ARGS_GENERATOR}"
${ARGS_OPTS}
BUILD_COMMAND ${CMAKE_COMMAND} --build "${CMAKE_BINARY_DIR}/${_NAME}"
INSTALL_COMMAND ${CMAKE_COMMAND} --build "${CMAKE_BINARY_DIR}/${_NAME}" --target install

View file

@ -30,6 +30,7 @@ cr_add_subproject (dyncall_s PATH dependencies/dyncall CMAKE IF THEORIES)
cr_add_subproject (nanomsg
PATH dependencies/nanomsg-patched
OPTS "-DNN_TESTS=OFF"
GENERATOR "Visual Studio 14 2015"
CMAKE
IF WIN32 AND NOT CYGWIN
)

View file

@ -36,8 +36,17 @@ set_property(TEST criterion_unit_tests PROPERTY
if (NOT MSVC) # we disable the scripted tests when building with MSVC
add_custom_target(cram_tests)
set(PATH_VAR
$ENV{PATH}
"${PROJECT_BINARY_DIR}/samples"
"${PROJECT_BINARY_DIR}/samples/tests"
"${PROJECT_BINARY_DIR}/external/lib"
"${PROJECT_BINARY_DIR}/external/bin"
)
string (REPLACE ";" ":" PATH_VAR "${PATH_VAR}")
set(CMD "")
set(CMD "${CMD}PATH=$ENV{PATH}:${PROJECT_BINARY_DIR}/samples:${PROJECT_BINARY_DIR}/samples/tests ")
set(CMD "${CMD}PATH=${PATH_VAR} ")
set(CMD "${CMD}LC_ALL=en_US.utf8 ")
set(CMD "${CMD}CRITERION_ALWAYS_SUCCEED=1 ")
set(CMD "${CMD}CRITERION_SHORT_FILENAME=1 ")