summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Velikov <emil.l.velikov@gmail.com>2014-08-21 13:20:47 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2014-11-09 22:44:09 +0000
commit148adfb13be1a553134aadd430a0667b176cda4a (patch)
tree69559baccbc3c3af5e90c1f49a34f0f8e56ac2b9
parent94374d447a09d9d055329c2ac8cf01b6b2f138a4 (diff)
cmake: Set default location for all artifacts to top-level directories
By default, put executables into $CMAKE_BINARY_DIR/bin and libraries into $CMAKE_BINARY_DIR/lib. Test executables still go into $CMAKE_BINARY_DIR/test. This patch's main purpose is to consolidate repetitive code. It doesn't actually move anything except 'libcmocka.a'. v2: [Emil] - Move gl_basic_test (dynamic linked against waffle) to bin, or the test will fail on Windows. Due to the DLL being in a different folder. Cc: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
-rw-r--r--.gitignore2
-rw-r--r--CMakeLists.txt7
-rw-r--r--src/utils/CMakeLists.txt4
-rw-r--r--src/waffle/CMakeLists.txt3
-rw-r--r--tests/functional/CMakeLists.txt7
5 files changed, 8 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore
index 85a607f..7944c00 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,6 +30,7 @@ Makefile
*.a
*.so
+/bin/gl_basic_test
/bin/wflinfo
/doc/html/man/waffle.7.html
/doc/html/man/waffle_attrib_list.3.html
@@ -57,7 +58,6 @@ Makefile
/lib/
/libcmocka.a
/src/waffle/libwaffle_static.a
-/tests/functional/gl_basic_test
/tests/waffle_test/libwaffle_test.dylib
/tests/unittests/waffle-unittest
/tests/wcore_attrib_list_unittest
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d6c804b..bde8096 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,6 +29,13 @@ cmake_minimum_required(VERSION 2.8.11)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules")
+# Set the default location for all build artifacts to traditionally named
+# top-level directories. CMake's default location for build artifacts varies
+# per artifact and is hard-to-guess.
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
+
include(WaffleDefineOS)
include(WaffleFindDependencies)
include(Options.cmake)
diff --git a/src/utils/CMakeLists.txt b/src/utils/CMakeLists.txt
index 6744c78..9cb6cc7 100644
--- a/src/utils/CMakeLists.txt
+++ b/src/utils/CMakeLists.txt
@@ -4,10 +4,6 @@
add_executable(wflinfo wflinfo.c)
target_link_libraries(wflinfo ${waffle_libname} ${GETOPT_LIBRARIES})
-set_target_properties(wflinfo
- PROPERTIES
- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
- )
if(waffle_on_mac)
set_target_properties(wflinfo
diff --git a/src/waffle/CMakeLists.txt b/src/waffle/CMakeLists.txt
index 891ff80..b580960 100644
--- a/src/waffle/CMakeLists.txt
+++ b/src/waffle/CMakeLists.txt
@@ -216,8 +216,6 @@ target_link_libraries(${waffle_libname} PRIVATE ${waffle_libdeps})
set_target_properties(${waffle_libname}
PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
SOVERSION ${waffle_soversion}
VERSION ${waffle_soversion}.${waffle_minor_version}.${waffle_patch_version}
)
@@ -258,7 +256,6 @@ target_link_libraries(waffle_static ${waffle_libdeps})
set_target_properties(waffle_static
PROPERTIES
OUTPUT_NAME "waffle-${waffle_major_version}"
- ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
)
# ----------------------------------------------------------------------------
diff --git a/tests/functional/CMakeLists.txt b/tests/functional/CMakeLists.txt
index 0612829..f1388b2 100644
--- a/tests/functional/CMakeLists.txt
+++ b/tests/functional/CMakeLists.txt
@@ -29,13 +29,6 @@ add_executable(gl_basic_test
${gl_basic_test_sources}
)
-# Ensure that the executable is in the same folder as the library it's linked
-# against. Otherwise Windows will fail to load the DLL, and the test will fail.
-set_target_properties(gl_basic_test
- PROPERTIES
- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
-)
-
target_link_libraries(gl_basic_test
${waffle_libname}
waffle_test