[CMake] Troubles with macros and STREQUAL

Steven Truppe workbench at gmx.at
Fri May 31 14:43:46 EDT 2019


cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
include(CMakePrintHelpers)



set(BSEDIT_INC_PATH "/usr/local/include")
set(BSEDIT_LIB_PATH "/usr/incude/lib")

set(WITH_LIB_GLAD "Support the GLAD library" 1)
set(LIB_GLAD_INC_PATH "/usr/include/glad")
set(LIB_GLAD_LIB_PATH "/usr/lib/glad")

set(WITH_LIB_GLFW "Support for the GLFW library" 1)


list(APPEND BSEDIT_INC_PATH ${LIB_GLAD_INC_PATH})


macro(bsAddLibrary lib)
     # get all WITH_LIB varables
         message(STATUS "${lib}")

     get_cmake_property(_variables VARIABLES)
     foreach(_var ${_variables})

-->> (${lib} is "WITH_LIB_GLAD" but allways return false =(       
if(_var STREQUAL ${lib})
             message(STATUS "Found library: ${_var}")
             if(DEFINED ${${CMAKE_MATCH_0}_INC_PATH})
                 message(STATUS "FOUND GLAD_INC_PATH")
             endif()
         endif()
     endforeach()
endmacro()


bsAddLibrary(WITH_LIB_GLAD)

message(STATUS "BSEDIT_INC_PATH = ${BSEDIT_INC_PATH}")
message(STATUS "BSEDIT_LIB_PATH = ${BSEDIT_LIB_PATH}")



More information about the CMake mailing list