From 0d5bc288674bb40243058539909e4b75740034bc Mon Sep 17 00:00:00 2001 From: Larry Gritz Date: Sat, 2 May 2020 10:39:16 -0700 Subject: [PATCH] Make build area more closely resemble dist area (#1161) Signed-off-by: Larry Gritz --- CMakeLists.txt | 5 +++++ src/liboslexec/CMakeLists.txt | 15 +++++++++------ src/liboslnoise/CMakeLists.txt | 2 +- testsuite/runtest.py | 2 +- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d9eb13ce9..d45e6c10f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,11 @@ message (STATUS "Project install prefix = ${CMAKE_INSTALL_PREFIX}") message (STATUS "Configuration types = ${CMAKE_CONFIGURATION_TYPES}") message (STATUS "Build type = ${CMAKE_BUILD_TYPE}") +# Make the build area layout look a bit more like the final dist layout +set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + if ("${PROJECT_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") message (FATAL_ERROR "Not allowed to run in-source build!") endif () diff --git a/src/liboslexec/CMakeLists.txt b/src/liboslexec/CMakeLists.txt index e3c8d2e95..cd45509fa 100644 --- a/src/liboslexec/CMakeLists.txt +++ b/src/liboslexec/CMakeLists.txt @@ -220,14 +220,17 @@ install_targets (${local_lib}) # Unit tests if (OSL_BUILD_TESTS) add_executable (accum_test accum_test.cpp) - target_link_libraries ( accum_test PRIVATE oslexec ${Boost_LIBRARIES} ${CMAKE_DL_LIBS}) - add_test (unit_accum "${CMAKE_BINARY_DIR}/src/liboslexec/accum_test") + target_link_libraries (accum_test PRIVATE oslexec ${Boost_LIBRARIES} ${CMAKE_DL_LIBS}) + set_target_properties (accum_test PROPERTIES FOLDER "Unit Tests") + add_test (unit_accum ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/accum_test) add_executable (dual_test dual_test.cpp) - target_link_libraries ( dual_test PRIVATE ${OPENIMAGEIO_LIBRARIES} ${ILMBASE_LIBRARIES} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS}) - add_test (unit_dual "${CMAKE_BINARY_DIR}/src/liboslexec/dual_test") + target_link_libraries (dual_test PRIVATE ${OPENIMAGEIO_LIBRARIES} ${ILMBASE_LIBRARIES} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS}) + set_target_properties (dual_test PROPERTIES FOLDER "Unit Tests") + add_test (unit_dual ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/dual_test) add_executable (llvmutil_test llvmutil_test.cpp) - target_link_libraries ( llvmutil_test PRIVATE oslexec ${Boost_LIBRARIES} ${CMAKE_DL_LIBS}) - add_test (unit_llvmutil "${CMAKE_BINARY_DIR}/src/liboslexec/llvmutil_test") + target_link_libraries (llvmutil_test PRIVATE oslexec ${Boost_LIBRARIES} ${CMAKE_DL_LIBS}) + set_target_properties (llvmutil_test PROPERTIES FOLDER "Unit Tests") + add_test (unit_llvmutil ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/llvmutil_test) endif () diff --git a/src/liboslnoise/CMakeLists.txt b/src/liboslnoise/CMakeLists.txt index 13aa5e083..3a969da0e 100644 --- a/src/liboslnoise/CMakeLists.txt +++ b/src/liboslnoise/CMakeLists.txt @@ -33,5 +33,5 @@ if (OSL_BUILD_TESTS) add_executable (oslnoise_test oslnoise_test.cpp) set_target_properties (oslnoise_test PROPERTIES FOLDER "Unit Tests") target_link_libraries (oslnoise_test PRIVATE oslnoise) - add_test (unit_oslnoise oslnoise_test) + add_test (unit_oslnoise ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/oslnoise_test) endif() diff --git a/testsuite/runtest.py b/testsuite/runtest.py index 7cfd7c578..147094eab 100755 --- a/testsuite/runtest.py +++ b/testsuite/runtest.py @@ -147,7 +147,7 @@ def text_diff (fromfile, tofile, diff_file=None): def osl_app (app): - apath = os.path.join(OSL_BUILD_DIR, "src", app) + apath = os.path.join(OSL_BUILD_DIR, "bin") if (platform.system () == 'Windows'): # when we use Visual Studio, built applications are stored # in the app/$(OutDir)/ directory, e.g., Release or Debug.