From 6fb52e8510358bb6d5df4c043d66b5ed810021a1 Mon Sep 17 00:00:00 2001 From: Philipp Basler Date: Wed, 25 May 2022 18:15:21 +0200 Subject: [PATCH] Added temporary workaround until https://github.com/CMA-ES/libcmaes/pull/238 is fixed --- tools/cmake/CMAES.cmake | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tools/cmake/CMAES.cmake b/tools/cmake/CMAES.cmake index 71665f2d5..7ca9a57e1 100644 --- a/tools/cmake/CMAES.cmake +++ b/tools/cmake/CMAES.cmake @@ -1,6 +1,9 @@ find_package(OpenMP REQUIRED) find_package(libcmaes 0.10 QUIET) if(NOT libcmaes_FOUND) + set(BSMPT_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + set(BSMPT_CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + set(BSMPT_CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") set(EXPORT_CMAES TRUE) FetchContent_Declare( libcmaes @@ -21,6 +24,23 @@ find_package(libcmaes 0.10 QUIET) "${libcmaes_SOURCE_DIR}/*" ) endif() + + ## WORKAROUND for https://github.com/phbasler/BSMPT/issues/72 until the PR is fixed + string(REPLACE " " ";" REPLACED_FLAGS ${BSMPT_CMAKE_CXX_FLAGS}) + string(REPLACE " " ";" REPLACED_FLAGS_RELEASE ${BSMPT_CMAKE_CXX_FLAGS_RELEASE}) + string(REPLACE " " ";" REPLACED_FLAGS_DEBUG ${BSMPT_CMAKE_CXX_FLAGS_DEBUG}) + target_compile_options(cmaes PUBLIC ${REPLACED_FLAGS}) + if(CMAKE_BUILD_TYPE MATCHES RELEASE) + target_compile_options(cmaes PUBLIC ${REPLACED_FLAGS_RELEASE}) + endif() + if(CMAKE_BUILD_TYPE MATCHES DEBUG) + target_compile_options(cmaes PUBLIC ${REPLACED_FLAGS_DEBUG}) + endif() + set(CMAKE_CXX_FLAGS "${BSMPT_CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS_DEBUG "${BSMPT_CMAKE_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_DEBUG}") + set(CMAKE_CXX_FLAGS_RELEASE "${BSMPT_CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}") + ## WORKAROUND end + set(libcmaes_FOUND TRUE) else() set(CodeCoverageExcludesFromOtherPkgs