cmake: examples: Configure output directory per target.
authorAina Niemetz <aina.niemetz@gmail.com>
Fri, 14 Sep 2018 18:50:07 +0000 (11:50 -0700)
committerMathias Preiner <mathias.preiner@gmail.com>
Sat, 22 Sep 2018 23:30:59 +0000 (16:30 -0700)
examples/CMakeLists.txt
examples/api/CMakeLists.txt
examples/api/java/CMakeLists.txt
examples/hashsmt/CMakeLists.txt
examples/nra-translate/CMakeLists.txt
examples/sets-translate/CMakeLists.txt

index be278f2abb258d5e96586764cfeca6c1b72a751e..37efb84e146079c6be077b7d830831e14c8c37f8 100644 (file)
@@ -1,5 +1,3 @@
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/examples)
-
 include_directories(${PROJECT_SOURCE_DIR}/src)
 include_directories(${PROJECT_SOURCE_DIR}/src/include)
 include_directories(${CMAKE_BINARY_DIR}/src)
@@ -47,6 +45,8 @@ set(CVC4_EXAMPLES_SETS_TRANSLATE
   sets2axioms
 )
 
+set(EXAMPLES_BIN_DIR ${CMAKE_BINARY_DIR}/bin/examples) 
+
 add_executable(simple_vc_cxx EXCLUDE_FROM_ALL simple_vc_cxx.cpp)
 target_link_libraries(simple_vc_cxx cvc4 cvc4parser)
 
@@ -56,6 +56,9 @@ target_link_libraries(simple_vc_quant_cxx cvc4 cvc4parser)
 add_executable(translator EXCLUDE_FROM_ALL translator.cpp)
 target_link_libraries(translator cvc4 cvc4parser)
 
+set_target_properties(simple_vc_cxx simple_vc_quant_cxx translator
+  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${EXAMPLES_BIN_DIR})
+
 add_custom_target(examples
   DEPENDS
   ${CVC4_EXAMPLES}
index 38dc563c0db0c0aedb6bad4241fb02e7a4e3cda2..55651e2387be08442c2e331110ef3f0689ca751d 100644 (file)
@@ -1,8 +1,10 @@
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/examples/api)
+set(EXAMPLES_API_BIN_DIR ${EXAMPLES_BIN_DIR}/api) 
 
 foreach(example ${CVC4_EXAMPLES_API})
   add_executable(${example} EXCLUDE_FROM_ALL ${example}.cpp)
   target_link_libraries(${example} cvc4)
+  set_target_properties(${example}
+    PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${EXAMPLES_API_BIN_DIR})
 endforeach()
 
 if(BUILD_BINDINGS_JAVA)
index 049d390bd73bd8c4803f81f5b5712d4e8895636e..bb70ab05435d65483f9481da036f0539e2307b14 100644 (file)
@@ -1,4 +1,4 @@
-set(EXAMPLES_API_JAVA_BIN_DIR ${CMAKE_BINARY_DIR}/bin/examples/api/java) 
+set(EXAMPLES_API_JAVA_BIN_DIR ${EXAMPLES_API_BIN_DIR}/java) 
 file(MAKE_DIRECTORY ${EXAMPLES_API_JAVA_BIN_DIR})
 
 add_custom_target(BitVectorsjava
index 5a0e484c86140c125e0186c9db7b902e101c3a0c..718399f79289a99043bdfdfa25884ec2599c41b7 100644 (file)
@@ -1,9 +1,12 @@
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/examples/hashsmt)
-
 include_directories(.)
 
+set(EXAMPLES_HASHSMT_BIN_DIR ${EXAMPLES_BIN_DIR}/hashsmt) 
+
 add_executable(sha1_inversion EXCLUDE_FROM_ALL sha1_inversion.cpp word.cpp)
 target_link_libraries(sha1_inversion cvc4)
 
 add_executable(sha1_collision EXCLUDE_FROM_ALL sha1_collision.cpp word.cpp)
 target_link_libraries(sha1_collision cvc4)
+
+set_target_properties(sha1_inversion sha1_collision
+  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${EXAMPLES_HASHSMT_BIN_DIR})
index 0d20e9fed8f1f88635e581457d5825708429592f..2b1a849dedce5ad66301707a9df8bbaa73a2ecbc 100644 (file)
@@ -1,6 +1,8 @@
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/examples/nra-translate)
+set(EXAMPLES_NRA_TRANSLATE_BIN_DIR ${EXAMPLES_BIN_DIR}/nra-translate) 
 
 foreach(example ${CVC4_EXAMPLES_NRA_TRANSLATE})
   add_executable(${example} EXCLUDE_FROM_ALL ${example}.cpp)
   target_link_libraries(${example} cvc4 cvc4parser)
+  set_target_properties(${example}
+    PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${EXAMPLES_NRA_TRANSLATE_BIN_DIR})
 endforeach()
index 8676994fd373e9584012431cf39d3cc8d315ac49..fcbb8e3c8cd6e7d2dd75811068f566c9d13a1444 100644 (file)
@@ -1,4 +1,4 @@
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/examples/sets-translate)
+set(EXAMPLES_SETS_TRANSLATE_BIN_DIR ${EXAMPLES_BIN_DIR}/sets-translate) 
 
 add_executable(sets2arrays EXCLUDE_FROM_ALL sets_translate.cpp)
 target_link_libraries(sets2arrays cvc4 cvc4parser)
@@ -6,3 +6,6 @@ target_link_libraries(sets2arrays cvc4 cvc4parser)
 add_executable(sets2axioms EXCLUDE_FROM_ALL sets_translate.cpp)
 target_compile_definitions(sets2axioms PRIVATE -DENABLE_AXIOMS)
 target_link_libraries(sets2axioms cvc4 cvc4parser)
+
+set_target_properties(sets2arrays sets2axioms
+  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${EXAMPLES_SETS_TRANSLATE_BIN_DIR})