Mercurial > malikania
changeset 111:8963c68f023c
CMake: output everything in bin, closes #691
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 05 Sep 2017 14:24:14 +0200 |
parents | 119bcc5a727e |
children | 90c51ffdbbce |
files | cmake/MalikaniaOptions.cmake cmake/function/MalikaniaDefineExample.cmake cmake/function/MalikaniaDefineExecutable.cmake cmake/function/MalikaniaDefineLibrary.cmake cmake/function/MalikaniaDefineTest.cmake |
diffstat | 5 files changed, 30 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/cmake/MalikaniaOptions.cmake Tue Sep 05 14:06:31 2017 +0200 +++ b/cmake/MalikaniaOptions.cmake Tue Sep 05 14:24:14 2017 +0200 @@ -17,19 +17,6 @@ # # -# Fakeroot directory. -# ------------------------------------------------------------------- -# -# This option specifies where to build the project as it would be installed -# using the install target or installers. -# -# This helps development. -# - -set(WITH_FAKEROOT_DIR "${CMAKE_BINARY_DIR}/fakeroot" - CACHE STRING "Where to build project as it would be installed") - -# # Backend selection. # ------------------------------------------------------------------- #
--- a/cmake/function/MalikaniaDefineExample.cmake Tue Sep 05 14:06:31 2017 +0200 +++ b/cmake/function/MalikaniaDefineExample.cmake Tue Sep 05 14:24:14 2017 +0200 @@ -36,4 +36,17 @@ add_executable(example-${EXP_TARGET} ${EXP_SOURCES}) target_link_libraries(example-${EXP_TARGET} ${EXP_LIBRARIES}) target_compile_definitions(example-${EXP_TARGET} PRIVATE ${EXP_FLAGS}) + set_target_properties( + example-${EXP_TARGET} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin + ) + foreach (c ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER ${c} cu) + set_target_properties( + example-${EXP_TARGET} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY_${cu} ${CMAKE_BINARY_DIR}/bin/${c} + ) + endforeach () endfunction()
--- a/cmake/function/MalikaniaDefineExecutable.cmake Tue Sep 05 14:06:31 2017 +0200 +++ b/cmake/function/MalikaniaDefineExecutable.cmake Tue Sep 05 14:24:14 2017 +0200 @@ -56,14 +56,14 @@ set_target_properties( ${EXE_TARGET} PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${WITH_FAKEROOT_DIR}/bin + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) foreach (c ${CMAKE_CONFIGURATION_TYPES}) - string(TOUPPER ${c} c) + string(TOUPPER ${c} cu) set_target_properties( ${EXE_TARGET} PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_${c} ${WITH_FAKEROOT_DIR}/bin + RUNTIME_OUTPUT_DIRECTORY_${cu} ${CMAKE_BINARY_DIR}/bin/${c} ) endforeach()
--- a/cmake/function/MalikaniaDefineLibrary.cmake Tue Sep 05 14:06:31 2017 +0200 +++ b/cmake/function/MalikaniaDefineLibrary.cmake Tue Sep 05 14:24:14 2017 +0200 @@ -78,14 +78,14 @@ ${LIB_TARGET} PROPERTIES PREFIX "" - RUNTIME_OUTPUT_DIRECTORY ${WITH_FAKEROOT_DIR}/bin + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) - foreach (cfg ${CMAKE_CONFIGURATION_TYPES}) - string(TOUPPER ${cfg} cfg) + foreach (c ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER ${c} cu) set_target_properties( ${LIB_TARGET} PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_${cfg} ${WITH_FAKEROOT_DIR}/bin + RUNTIME_OUTPUT_DIRECTORY_${cu} ${CMAKE_BINARY_DIR}/bin/${c} ) endforeach ()
--- a/cmake/function/MalikaniaDefineTest.cmake Tue Sep 05 14:06:31 2017 +0200 +++ b/cmake/function/MalikaniaDefineTest.cmake Tue Sep 05 14:24:14 2017 +0200 @@ -82,15 +82,20 @@ SOURCE_DIRECTORY=\"${CMAKE_BINARY_DIR}/test/${TEST_NAME}\" ${TEST_FLAGS} ) + set_target_properties( test-${TEST_NAME} PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/test/${TEST_NAME} - RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/test/${TEST_NAME} - RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/test/${TEST_NAME} - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_BINARY_DIR}/test/${TEST_NAME} - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_BINARY_DIR}/test/${TEST_NAME} + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) + foreach (c ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER ${c} cu) + set_target_properties( + test-${TEST_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY_${cu} ${CMAKE_BINARY_DIR}/bin/${c} + ) + endforeach () add_test( NAME ${TEST_NAME} COMMAND $<TARGET_FILE:test-${TEST_NAME}>