-
Notifications
You must be signed in to change notification settings - Fork 31
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
ign -> gz Migrate Internal CMake Vars : gz-cmake #275
Conversation
e1c4a35
to
a1065a1
Compare
fb2f2f0
to
e7974ff
Compare
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
e7974ff
to
efe92a3
Compare
This PR can be squashed |
Signed-off-by: methylDragon <[email protected]>
141d2ae
to
fb9a7eb
Compare
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.
Partial review so far
…uide Signed-off-by: methylDragon <[email protected]>
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.
Finished doing a pass on the code, still need to test locally with other libraries
cmake/GzPython.cmake
Outdated
@@ -43,3 +43,6 @@ endif() | |||
if(Python3_EXECUTABLE AND NOT PYTHON_EXECUTABLE) | |||
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) | |||
endif() | |||
|
|||
set(IGN_PYTHON_VERSION ${GZ_PYTHON_VERSION} CACHE STRING # TODO(CH3): Deprecated. Remove on tock. | |||
"Deprecated. Use [GZ_PYTHON_VERSION] instead! Specify specific Python version to use ('major.minor' or 'major')") |
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.
Should this be up top?
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.
# part of a plugin-based framework. | ||
option(IGN_USE_STATIC_RUNTIME "Use the static runtime (strongly discouraged)" OFF) | ||
|
||
if(IGN_USE_STATIC_RUNTIME) # TODO(CH3): Deprecated. Remove on tock. |
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.
Do we still need the option()
line before checking if it's set?
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.
Option will create a cache variable which can then be set via CLI, if I'm not wrong, so that's why I think having the option there is necessary
cmake/GzSetCompilerFlags.cmake
Outdated
if(BUILD_SHARED_LIBS) | ||
# Users should not choose the static runtime unless they are compiling a | ||
# static library, so we completely disable this option if BUILD_SHARED_LIBS | ||
# is turned on. | ||
set(IGN_USE_STATIC_RUNTIME OFF CACHE BOOL "Use the static runtime (strongly discouraged)" FORCE) | ||
set(GZ_USE_STATIC_RUNTIME OFF CACHE BOOL "Use the static runtime (strongly discouraged)" FORCE) | ||
set(IGN_USE_STATIC_RUNTIME ${GZ_USE_STATIC_RUNTIME} # TODO(CH3): Deprecated. Remove on tock. |
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.
If I understand correctly, this is internally setting the variable. So we should only need to set GZ_
and use that.
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.
Signed-off-by: methylDragon <[email protected]>
See: gazebo-tooling/release-tools#698
Built on top of: #274
In an effort to keep track of what has already been tick-tocked, I placed the
Deprecated.
comment (in most cases) on the same line so it appears on grep.Try it:
grep -ri set\(ign
BREAKING NOTES
IGNITION_DOXYGEN_TAGFILES
is set by DOWNSTREAM libraries and used in this UPSTREAM library... I am just going to hard-tock it and remember to update the downstream usage since it's just for docs...The next few ones look like they're breaking (because they change the install path to
gz
), but local builds work.Release repos might need to be updated to have the topline
ignition
->gz
.include/ignition
toinclude/gz
(I think inGzConfigureBuild.cmake
andGzPackaging.cmake
?)PROJECT_INCLUDE_DIR
storesignition/${IGN_DESIGNATION}
->gz/...
install
directory togz
instead ofignition
, likely necessitating release repository changes, but no other issues if packages are rebuilt accordinglySee: e1c4a35
Pending??
version_info.json.in
(I've provisionally migratedignition
togz
here)Hard-Tocks
Usually because they're internal or aren't used anywhere else in the entire Gz stack
GitHub workflow targets
Erm.. docs only mentions?
IGN_SANITIZERS
USE_IGN_RECOMMENDED_FLAGS
GzCodeCoverage.cmake
:IGN_SETUP_TARGET_FOR_COVERAGE
Top level gz-cmake CMakeLists.txt
ign_pkgconfig_xxx
ign_utilities_xxx
IGN_PC_CONFIG_RELATIVE_PATH_TO_PREFIX
GzPackaging.cmake
:IGNITION_CMAKE_DIR
IGNITION_CMAKE_VERSION_MAJOR
GzCreateDocs.cmake
IGNITION_DOXYGEN_GENTAGFILE
IGNITION_DOXYGEN_INPUT
IGNITION_DOXYGEN_IMAGE_PATH
IGNITION_DOXYGEN_API_MAINPAGE_MD
IGNITION_DOXYGEN_GENHTML
IGNITION_DOXYGEN_AUTOGENERATED_DOC
IGNITION_DOXYGEN_TUTORIALS_MAINPAGE_MD
IGNITION_DOXYGEN_TUTORIALS_DIR
IGNITION_DOXYGEN_ADDITIONAL_INPUT_DIRS
GzRonn2Man.cmake
ign_add_manpage_target
gz-config.cmake.in
set_and_check(@PKG_NAME@_INCLUDE_DIRS "@PACKAGE_IGN_INCLUDE_INSTALL_DIR_FULL@")
this is the only occurance of that IGN variable. I don't know whyTick-Tocks
Every variable that is set with an IGNITION/IGN prefix, generally in
.cmake
files which are meant to be included (internal references hard-tocked, but the set call itself is ticktocked.)gz-cmake-config.cmake.in
:IGN_INCLUDE_INSTALL_DIR_FULL
IGNITION_CMAKE_VERSION_MAJOR
IGNITION_CMAKE_DOXYGEN_DIR
(Also in top level CMakeLists.txt... it's confusing, I know)IGNITION_CMAKE_CODECHECK_DIR
IGNITION_CMAKE_BENCHMARK_DIR
IGNITION_CMAKE_TOOLS_DIR
All these IGN_DESIGNATION variables...
IGN_DESIGNATION
IGN_DESIGNATION_LOWER
IGN_DESIGNATION_UPPER
IGN_DESIGNATION_FIRST_LETTER
IGN_DESIGNATION_CAP
GzPackaging.cmake
:IGN_INCLUDE_INSTALL_DIR
IGN_INCLUDE_INSTALL_DIR_POSTFIX
IGN_INCLUDE_INSTALL_DIR_FULL
IGN_DATA_INSTALL_DIR_POSTFIX
IGN_DATA_INSTALL_DIR
IGN_LIB_INSTALL_DIR
IGN_BIN_INSTALL_DIR
GzConfigureBuild.cmake
IGN_CXX_XXX
IGN_KNOWN_CXX_STANDARDS
gz
overignition
GzSetCompilerFlags.cmake
IGN_ADD_fPIC_TO_LIBRARIES
IGN_USE_STATIC_RUNTIME
(option and cache variable)GzPython.cmake
IGN_PYTHON_VERSION
Hmhm
REPLACE_IGNITION_INCLUDE_PATH
NO_IGNITION_PREFIX