<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Found the problem, my regex was wrong [AZaz] should be [A-Za-z]
...<br>
</p>
<div class="moz-cite-prefix">On 31.05.19 19:07, Steven Truppe wrote:<br>
</div>
<blockquote type="cite"
cite="mid:8c50d3a3-fd1c-deaf-39e0-d9ddb73832c2@gmx.at">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p>The problem is the line:</p>
<pre>if(${_var} MATCHES "^WITH_LIB_([AZaz]+)$")
cmake_print_variables(CMAKE_MATCH_0)
doesn't print me any output ...
</pre>
<p><br>
</p>
<div class="moz-cite-prefix">On 31.05.19 18:53, Steven Truppe
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:501485aa-ebca-758e-b79c-06115fe198b3@gmx.at">
<meta http-equiv="content-type" content="text/html;
charset=UTF-8">
<p>Hi everyone,</p>
<p>i try to create a build system where you can decide which
libraries you want to use with variables like "WITH_LIB_GLFW"
for example. every lib variable has other variables like
WITH_LIB_GLFW_INC_PATH,</p>
<p>WITH_LIB_GLFW_LIB_PATH, etc. so i can decide with cmake what
libraries i'm going to use for the final executable.</p>
<p>Now my problem is that i'm relative new to cmake and i'm
learning c++11 in the meantime and are coding on a project so
i don't have to much time for cmake (but it's a realy
important part).</p>
<p>Here is the code: </p>
<pre>cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
include(CMakePrintHelpers)
set(WITH_LIB_GLAD "Support the GLAD library" 1)
set(WITH_LIB_GLFW "Support for the GLFW library" 1)
macro(bsAddLibrary lib)
# get all WITH_LIB varables
get_cmake_property(_variables VARIABLES)
foreach(_var ${_variables})
# cmake_print_variables(${_var})
if(${_var} MATCHES "^WITH_LIB_[AZaz]+$" _lib)
cmake_print_variables(${_lib})
endif()
endforeach()
endmacro()
bsAddLibrary(WITH_LIB_GLAD) # Adds WITH_LIB_GLAD_INC_PATH and the other variables to a list for the main application that holds all inc path, compiler flags etc.
ERROR:
======
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:15 (if):
if given arguments:
"CMAKE_AR" "MATCHES" "^WITH_LIB_[AZaz]+\$" "_lib"
Unknown arguments specified
Call Stack (most recent call first):
CMakeLists.txt:22 (bsAddLibrary)</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
</blockquote>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
</blockquote>
</body>
</html>