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}>