From f02c85032e0321afe37f2f7705853a8a71c7b372 Mon Sep 17 00:00:00 2001 From: Hadrien Grasland <grasland@lal.in2p3.fr> Date: Tue, 11 Sep 2018 12:03:59 +0200 Subject: [PATCH] Support all CMake booleans --- cmake/DD4hepBuild.cmake | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake index 797a6095f..1605e96ff 100644 --- a/cmake/DD4hepBuild.cmake +++ b/cmake/DD4hepBuild.cmake @@ -452,9 +452,10 @@ function ( dd4hep_find_package name found ) elseif ( found_package EQUAL -1 AND "${ARG_TYPE}" STREQUAL "INTERNAL" ) set_property( GLOBAL PROPERTY DD4HEP_USE_${NAME} "OFF" ) set ( ${found} "OFF" PARENT_SCOPE ) - elseif ( "${DD4HEP_USE_${name}}" STREQUAL "OFF" OR "${DD4HEP_USE_${NAME}}" STREQUAL "OFF" ) + elseif ( ( DEFINED DD4HEP_USE_${name} AND NOT "${DD4HEP_USE_${name}}" ) OR + ( DEFINED DD4HEP_USE_${NAME} AND NOT "${DD4HEP_USE_${NAME}}" ) ) set ( ${found} "OFF" PARENT_SCOPE ) - elseif ( "${use_pkg}" STREQUAL "OFF" ) + elseif ( DEFINED use_pkg AND NOT "${use_pkg}" ) set ( ${found} "OFF" PARENT_SCOPE ) else() # @@ -481,7 +482,7 @@ function ( dd4hep_find_package name found ) else() dd4hep_find_packageEx( ${name} ${ARGN} ) dd4hep_debug("DD4hep_find_package: DD4HEP_USE_${name}: ${DD4HEP_USE_${NAME}} Exists: ${${NAME}_EXISTS} ARGS:${arguments}") - if ( "${${NAME}_EXISTS}" STREQUAL "ON" ) + if ( "${${NAME}_EXISTS}" ) dd4hep_debug( "DD4hep_find_package ${NAME} Incs: ${incs}" ) dd4hep_debug( "DD4hep_find_package ${NAME} Libs: ${libs}" ) set_property ( GLOBAL PROPERTY ${NAME}_COMPONENTS ${arguments} ) @@ -684,9 +685,9 @@ function ( dd4hep_handle_optional_sources tag optionals missing uses sources ) dd4hep_find_package( ${USE_NAME} pkg_found ARGS ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} TYPE ${USE_TYPE} ) - if ( "${pkg_found}" STREQUAL "OFF" ) + if ( DEFINED pkg_found AND NOT "${pkg_found}" ) dd4hep_print ( "| ${tag} ...optional: Skip sources ${USE_SOURCES} [requires ${USE_NAME}]" ) - elseif ( "${pkg_found}" STREQUAL "ON" ) + elseif ( DEFINED pkg_found AND "${pkg_found}" ) dd4hep_print ( "| ${tag} ...optional: ADD sources ${USE_SOURCES} [dependent on ${USE_NAME}]" ) file ( GLOB opt_sources ${USE_SOURCES} ) set ( src ${src} ${opt_sources} ) @@ -732,10 +733,10 @@ function( dd4hep_use_package print_prefix inName outName ) else() dd4hep_find_package( ${use} pkg_found ) endif() - if ( "${pkg_found}" STREQUAL "ON" ) + if ( "${pkg_found}" ) dd4hep_debug ( "${print_prefix} package_libs: ${${use}_LIBRARIES}" ) set ( use ${use} ) - elseif ( "{pkg_found}" STREQUAL "OFF" ) + elseif ( NOT "{pkg_found}" ) dd4hep_print ( "|++> ${print_prefix} ...Missing package: ${use} [Ignored]" ) unset ( use ) elseif ( "${USE_REQUIRED}" STREQUAL "REQUIRED" ) @@ -761,7 +762,7 @@ function( dd4hep_use_package print_prefix inName outName ) dd4hep_find_package ( ${use} pkg_found ) set ( src ${use} ) endif() - if ( NOT "${pkg_found}" STREQUAL "ON" ) + if ( NOT "${pkg_found}" ) dd4hep_print ( "| ${print_prefix} ...optional: Skip optional ${src} [${use} Not defined]" ) unset ( use ) endif() @@ -857,7 +858,7 @@ function( dd4hep_package packageName ) foreach ( use ${ARG_USES} ) dd4hep_unpack_package_opts ( TEST ${use} ) dd4hep_find_package ( ${TEST_NAME} pkg_found ) - if ( "${pkg_found}" STREQUAL "OFF" ) + if ( NOT "${pkg_found}" ) set ( missing_uses ${missing_uses} ${TEST_NAME} ) endif() endforeach() @@ -969,7 +970,7 @@ function( dd4hep_add_library binary building ) set ( tag ${ARG_PRINT} ) endif() - if ( "${enabled}" STREQUAL "OFF" ) + if ( NOT "${enabled}" ) dd4hep_skipmsg ( "${tag} DISBALED -- package is not built!" ) else() dd4hep_debug( "+------------------------------------------- <<<< LIBRARY ${pkg}:${binary} >>>> Version: ${${pkg}_VERSION}" ) @@ -1052,11 +1053,11 @@ endfunction(dd4hep_add_library) function( dd4hep_add_regular_library library ) dd4hep_package_properties( pkg PKG enabled ) set ( tag "Package library[${pkg}] -> ${library}" ) - if ( "${enabled}" STREQUAL "OFF" ) + if ( NOT "${enabled}" ) dd4hep_skipmsg ( "${tag} DISBALED -- package is not built!" ) else() dd4hep_add_library( ${library} building ${ARGN} PRINT ${tag} ) - if ( "${building}" STREQUAL "ON" ) + if ( "${building}" ) dd4hep_debug ( "add_package_library -> ${library} ${PKG}_LIBRARIES:${pkg_libs}" ) else() dd4hep_fatal ( "Package library[${pkg}] -> ${binary} Cannot be built! This is an ERROR condition." ) @@ -1080,11 +1081,11 @@ endfunction(dd4hep_add_regular_library) function( dd4hep_add_package_library library ) dd4hep_package_properties( pkg PKG enabled ) set ( tag "Package library[${pkg}] -> ${library}" ) - if ( "${enabled}" STREQUAL "OFF" ) + if ( NOT "${enabled}" ) dd4hep_skipmsg ( "${tag} DISBALED -- package is not built!" ) else() dd4hep_add_library( ${library} building ${ARGN} PRINT ${tag} ) - if ( "${building}" STREQUAL "ON" ) + if ( "${building}" ) get_property(pkg_libs GLOBAL PROPERTY PROPERTY ${PKG}_LIBRARIES ) dd4hep_make_unique_list ( pkg_libs VALUES ${pkg_libs} ${library} ) set_property(GLOBAL PROPERTY ${PKG}_LIBRARIES ${pkg_libs} ) @@ -1123,7 +1124,7 @@ endfunction(dd4hep_add_package_library) function( dd4hep_add_plugin binary ) dd4hep_package_properties( pkg PKG enabled ) set ( tag "Plugin[${pkg}] -> ${binary}" ) - if ( "${enabled}" STREQUAL "OFF" ) + if ( NOT "${enabled}" ) dd4hep_skipmsg ( "${tag} DISBALED -- package is not built!" ) else() cmake_parse_arguments(ARG "NOINSTALL" "" "SOURCES;GENERATED;LINK_LIBRARIES;INCLUDE_DIRS;USES;OPTIONAL;DEFINITIONS" ${ARGN}) @@ -1144,7 +1145,7 @@ function( dd4hep_add_plugin binary ) ) # # Generate ROOTMAP if the plugin will be built: - if ( "${building}" STREQUAL "ON" ) + if ( "${building}" ) dd4hep_generate_rootmap( ${binary} ) endif() endif() @@ -1176,7 +1177,7 @@ function ( dd4hep_add_executable binary ) #set ( DD4HEP_DEBUG_CMAKE "ON" ) dd4hep_package_properties( pkg PKG enabled ) set ( tag "Executable[${pkg}] -> ${binary}" ) - if ( "${enabled}" STREQUAL "OFF" ) + if ( NOT "${enabled}" ) dd4hep_skipmsg ( "${tag} DISBALED -- package is not built!" ) else() cmake_parse_arguments ( ARG "" "" "SOURCES;GENERATED;LINK_LIBRARIES;INCLUDE_DIRS;USES;OPTIONAL" ${ARGN}) @@ -1246,7 +1247,7 @@ endfunction(dd4hep_add_executable) function( dd4hep_add_dictionary dictionary ) dd4hep_package_properties( pkg PKG enabled ) set ( tag "Dictionary[${pkg}] -> ${dictionary}" ) - if ( "${enabled}" STREQUAL "OFF" ) + if ( NOT "${enabled}" ) dd4hep_skipmsg ( "${tag} DISBALED -- package is not built!" ) else() cmake_parse_arguments(ARG "" "" "SOURCES;EXCLUDE;LINKDEF;OPTIONS;OPTIONAL;INCLUDES;OUTPUT" ${ARGN} ) @@ -1397,7 +1398,7 @@ function ( dd4hep_add_test_reg test_name ) # dd4hep_find_package( ${USE_NAME} pkg_found # ARGS ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} # TYPE ${USE_TYPE} ) - # if ( "${pkg_found}" STREQUAL "OFF" ) + # if ( NOT "${pkg_found}" ) # set( missing ${missing} ${USE_NAME} ) # unset ( use_test ) # endif() -- GitLab