-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix #2871 by introducing additional directories #2878
Conversation
@sgpearse this PR moves the test binaries to a different directory, so the ubuntu circleCI job fails. Mysteriously, the centos circleCI job succeeds. There might be something to investigate into. |
Hey, CentOS is passing because we only test for warnings in debug/release mode on that platform. We run smoke tests on ubuntu only. I've fixed the path to the smoke tests so that they pass on CircleCI, submitted as a PR to this branch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don’t know if I’d consider vaporversion a debug binary. Also, shouldn’t the test binary location be specified as a variable rather than hard coded for every executable?
I cannot find a good argument for one way or another. Please let me know if you find a good one.
Did you mean introducing a CMake configuration option that allows a user to specify where to put test binaries? I actually cannot think of a good use case where someone wants to change test binaries to a different directory. |
@@ -1,4 +1,5 @@ | |||
add_executable (vapor_check_udunits vapor_check_udunits.cpp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This goes back to bin
apps/vaporpychecker/CMakeLists.txt
Outdated
@@ -1,4 +1,5 @@ | |||
add_executable (vaporpychecker vaporpychecker.cpp) | |||
set_target_properties(vaporpychecker PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/debug_binaries") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to bin
apps/vaporversion/CMakeLists.txt
Outdated
@@ -1,4 +1,5 @@ | |||
add_executable (vaporversion vaporversion.cpp) | |||
set_target_properties(vaporversion PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/debug_binaries") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to bin
test_apps/ParamsMgr/CMakeLists.txt
Outdated
@@ -1,3 +1,4 @@ | |||
add_executable (test_ParamsMgr test_ParamsMgr.cpp) | |||
set_target_properties(test_ParamsMgr PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/test_binaries") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Go to debug_binaries
@@ -1,3 +1,4 @@ | |||
add_executable (test_datamgr test_datamgr.cpp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to debug_binaries
test_apps/grid_iter/CMakeLists.txt
Outdated
@@ -1,3 +1,4 @@ | |||
add_executable (test_grid_iter test_grid_iter.cpp) | |||
set_target_properties(test_grid_iter PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/test_binaries") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to debug_binaries
@@ -1,3 +1,4 @@ | |||
add_executable (test_params2 test_params2.cpp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to debug_binaries
test_apps/pyengine/CMakeLists.txt
Outdated
@@ -1,3 +1,4 @@ | |||
add_executable (test_pyengine test_pyengine.cpp) | |||
set_target_properties(test_pyengine PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/test_binaries") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to debug_binaries
@@ -1,5 +1,6 @@ | |||
|
|||
add_executable (test_quadtreerectangle "") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to debug_binaries
All the review comments have been fixed in commit ceea4c1. Please review again. |
CMakeLists.txt
Outdated
@@ -90,6 +90,8 @@ endif () | |||
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) | |||
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) | |||
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) | |||
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/test_binaries) | |||
set (CMAKE_DEBUG_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/debug_binaries) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your new variables match the naming scheme of built in CMake “magic variables” which can be confusing since they will behave differently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not familiar with this topic, so could you elaborate on what exactly the different behaviors are?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The preceding 3 variables are builtin and changing them configures cmake. The ones you added are normal variables.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
got it!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With this PR, our build directory will have 4 places we put binaries (bin, test_apps, debug_binaries, and test_binaries). A little confusing. I think we should migrate the binaries in build/test_apps into either test_binaries or debug_binaries. But that can be done outside of this PR.
Opening #2882.
Hey @sgpearse just to clarify, there are 3 places to put binaries. |
This PR fixes issue #2871 by moving 3 binaries to a directory named
debug_binaries
, and 7 binaries to a directory namedtest_binaries
.