Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
TLMSP curl
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
CYBER - Cyber Security
TS 103 523 MSP
TLMSP
TLMSP curl
Commits
88c17d55
Commit
88c17d55
authored
10 years ago
by
Jakub Zakrzewski
Committed by
Daniel Stenberg
10 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Cmake: Moved macros out of the main CMakeLists.txt
parent
73a1a639
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
CMake/Macros.cmake
+89
-0
89 additions, 0 deletions
CMake/Macros.cmake
CMakeLists.txt
+2
-86
2 additions, 86 deletions
CMakeLists.txt
with
91 additions
and
86 deletions
CMake/Macros.cmake
0 → 100644
+
89
−
0
View file @
88c17d55
#File defines convenience macros for available feature testing
# This macro checks if the symbol exists in the library and if it
# does, it prepends library to the list.
macro
(
CHECK_LIBRARY_EXISTS_CONCAT LIBRARY SYMBOL VARIABLE
)
check_library_exists
(
"
${
LIBRARY
}
;
${
CURL_LIBS
}
"
${
SYMBOL
}
"
${
CMAKE_LIBRARY_PATH
}
"
${
VARIABLE
}
)
if
(
${
VARIABLE
}
)
set
(
CURL_LIBS
${
LIBRARY
}
${
CURL_LIBS
}
)
endif
(
${
VARIABLE
}
)
endmacro
(
CHECK_LIBRARY_EXISTS_CONCAT
)
# Check if header file exists and add it to the list.
macro
(
CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE
)
check_include_files
(
"
${
CURL_INCLUDES
}
;
${
FILE
}
"
${
VARIABLE
}
)
if
(
${
VARIABLE
}
)
set
(
CURL_INCLUDES
${
CURL_INCLUDES
}
${
FILE
}
)
set
(
CURL_TEST_DEFINES
"
${
CURL_TEST_DEFINES
}
-D
${
VARIABLE
}
"
)
endif
(
${
VARIABLE
}
)
endmacro
(
CHECK_INCLUDE_FILE_CONCAT
)
# For other curl specific tests, use this macro.
macro
(
CURL_INTERNAL_TEST CURL_TEST
)
if
(
"
${
CURL_TEST
}
"
MATCHES
"^
${
CURL_TEST
}
$"
)
set
(
MACRO_CHECK_FUNCTION_DEFINITIONS
"-D
${
CURL_TEST
}
${
CURL_TEST_DEFINES
}
${
CMAKE_REQUIRED_FLAGS
}
"
)
if
(
CMAKE_REQUIRED_LIBRARIES
)
set
(
CURL_TEST_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=
${
CMAKE_REQUIRED_LIBRARIES
}
"
)
endif
(
CMAKE_REQUIRED_LIBRARIES
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
"
)
try_compile
(
${
CURL_TEST
}
${
CMAKE_BINARY_DIR
}
${
CMAKE_CURRENT_SOURCE_DIR
}
/CMake/CurlTests.c
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=
${
MACRO_CHECK_FUNCTION_DEFINITIONS
}
"
${
CURL_TEST_ADD_LIBRARIES
}
"
OUTPUT_VARIABLE OUTPUT
)
if
(
${
CURL_TEST
}
)
set
(
${
CURL_TEST
}
1 CACHE INTERNAL
"Curl test
${
FUNCTION
}
"
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
- Success"
)
file
(
APPEND
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeOutput.log
"Performing Curl Test
${
CURL_TEST
}
passed with the following output:
\n
"
"
${
OUTPUT
}
\n
"
)
else
(
${
CURL_TEST
}
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
- Failed"
)
set
(
${
CURL_TEST
}
""
CACHE INTERNAL
"Curl test
${
FUNCTION
}
"
)
file
(
APPEND
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeError.log
"Performing Curl Test
${
CURL_TEST
}
failed with the following output:
\n
"
"
${
OUTPUT
}
\n
"
)
endif
(
${
CURL_TEST
}
)
endif
(
"
${
CURL_TEST
}
"
MATCHES
"^
${
CURL_TEST
}
$"
)
endmacro
(
CURL_INTERNAL_TEST
)
macro
(
CURL_INTERNAL_TEST_RUN CURL_TEST
)
if
(
"
${
CURL_TEST
}
_COMPILE"
MATCHES
"^
${
CURL_TEST
}
_COMPILE$"
)
set
(
MACRO_CHECK_FUNCTION_DEFINITIONS
"-D
${
CURL_TEST
}
${
CMAKE_REQUIRED_FLAGS
}
"
)
if
(
CMAKE_REQUIRED_LIBRARIES
)
set
(
CURL_TEST_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=
${
CMAKE_REQUIRED_LIBRARIES
}
"
)
endif
(
CMAKE_REQUIRED_LIBRARIES
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
"
)
try_run
(
${
CURL_TEST
}
${
CURL_TEST
}
_COMPILE
${
CMAKE_BINARY_DIR
}
${
CMAKE_CURRENT_SOURCE_DIR
}
/CMake/CurlTests.c
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=
${
MACRO_CHECK_FUNCTION_DEFINITIONS
}
"
${
CURL_TEST_ADD_LIBRARIES
}
"
OUTPUT_VARIABLE OUTPUT
)
if
(
${
CURL_TEST
}
_COMPILE AND NOT
${
CURL_TEST
}
)
set
(
${
CURL_TEST
}
1 CACHE INTERNAL
"Curl test
${
FUNCTION
}
"
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
- Success"
)
else
(
${
CURL_TEST
}
_COMPILE AND NOT
${
CURL_TEST
}
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
- Failed"
)
set
(
${
CURL_TEST
}
""
CACHE INTERNAL
"Curl test
${
FUNCTION
}
"
)
file
(
APPEND
"
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeError.log"
"Performing Curl Test
${
CURL_TEST
}
failed with the following output:
\n
"
"
${
OUTPUT
}
"
)
if
(
${
CURL_TEST
}
_COMPILE
)
file
(
APPEND
"
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeError.log"
"There was a problem running this test
\n
"
)
endif
(
${
CURL_TEST
}
_COMPILE
)
file
(
APPEND
"
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeError.log"
"
\n\n
"
)
endif
(
${
CURL_TEST
}
_COMPILE AND NOT
${
CURL_TEST
}
)
endif
(
"
${
CURL_TEST
}
_COMPILE"
MATCHES
"^
${
CURL_TEST
}
_COMPILE$"
)
endmacro
(
CURL_INTERNAL_TEST_RUN
)
This diff is collapsed.
Click to expand it.
CMakeLists.txt
+
2
−
86
View file @
88c17d55
...
...
@@ -41,6 +41,7 @@
cmake_minimum_required
(
VERSION 2.8 FATAL_ERROR
)
set
(
CMAKE_MODULE_PATH
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/CMake;
${
CMAKE_MODULE_PATH
}
"
)
include
(
Utilities
)
include
(
Macros
)
project
(
CURL C
)
...
...
@@ -201,16 +202,6 @@ if(WIN32)
include
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/CMake/Platforms/WindowsCache.cmake
)
endif
(
WIN32
)
# This macro checks if the symbol exists in the library and if it
# does, it prepends library to the list.
macro
(
CHECK_LIBRARY_EXISTS_CONCAT LIBRARY SYMBOL VARIABLE
)
check_library_exists
(
"
${
LIBRARY
}
;
${
CURL_LIBS
}
"
${
SYMBOL
}
"
${
CMAKE_LIBRARY_PATH
}
"
${
VARIABLE
}
)
if
(
${
VARIABLE
}
)
set
(
CURL_LIBS
${
LIBRARY
}
${
CURL_LIBS
}
)
endif
(
${
VARIABLE
}
)
endmacro
(
CHECK_LIBRARY_EXISTS_CONCAT
)
# Check for all needed libraries
check_library_exists_concat
(
"dl"
dlopen HAVE_LIBDL
)
check_library_exists_concat
(
"socket"
connect HAVE_LIBSOCKET
)
...
...
@@ -301,14 +292,6 @@ endif(CMAKE_USE_OPENSSL)
# If we have features.h, then do the _BSD_SOURCE magic
check_include_file
(
"features.h"
HAVE_FEATURES_H
)
# Check if header file exists and add it to the list.
macro
(
CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE
)
check_include_files
(
"
${
CURL_INCLUDES
}
;
${
FILE
}
"
${
VARIABLE
}
)
if
(
${
VARIABLE
}
)
set
(
CURL_INCLUDES
${
CURL_INCLUDES
}
${
FILE
}
)
set
(
CURL_TEST_DEFINES
"
${
CURL_TEST_DEFINES
}
-D
${
VARIABLE
}
"
)
endif
(
${
VARIABLE
}
)
endmacro
(
CHECK_INCLUDE_FILE_CONCAT
)
# Check for header files
...
...
@@ -592,74 +575,7 @@ if(NOT HAVE_STRICMP)
set
(
HAVE_LDAP_URL_PARSE 1
)
endif
(
NOT HAVE_STRICMP
)
# For other curl specific tests, use this macro.
macro
(
CURL_INTERNAL_TEST CURL_TEST
)
if
(
"
${
CURL_TEST
}
"
MATCHES
"^
${
CURL_TEST
}
$"
)
set
(
MACRO_CHECK_FUNCTION_DEFINITIONS
"-D
${
CURL_TEST
}
${
CURL_TEST_DEFINES
}
${
CMAKE_REQUIRED_FLAGS
}
"
)
if
(
CMAKE_REQUIRED_LIBRARIES
)
set
(
CURL_TEST_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=
${
CMAKE_REQUIRED_LIBRARIES
}
"
)
endif
(
CMAKE_REQUIRED_LIBRARIES
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
"
)
try_compile
(
${
CURL_TEST
}
${
CMAKE_BINARY_DIR
}
${
CMAKE_CURRENT_SOURCE_DIR
}
/CMake/CurlTests.c
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=
${
MACRO_CHECK_FUNCTION_DEFINITIONS
}
"
${
CURL_TEST_ADD_LIBRARIES
}
"
OUTPUT_VARIABLE OUTPUT
)
if
(
${
CURL_TEST
}
)
set
(
${
CURL_TEST
}
1 CACHE INTERNAL
"Curl test
${
FUNCTION
}
"
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
- Success"
)
file
(
APPEND
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeOutput.log
"Performing Curl Test
${
CURL_TEST
}
passed with the following output:
\n
"
"
${
OUTPUT
}
\n
"
)
else
(
${
CURL_TEST
}
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
- Failed"
)
set
(
${
CURL_TEST
}
""
CACHE INTERNAL
"Curl test
${
FUNCTION
}
"
)
file
(
APPEND
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeError.log
"Performing Curl Test
${
CURL_TEST
}
failed with the following output:
\n
"
"
${
OUTPUT
}
\n
"
)
endif
(
${
CURL_TEST
}
)
endif
(
"
${
CURL_TEST
}
"
MATCHES
"^
${
CURL_TEST
}
$"
)
endmacro
(
CURL_INTERNAL_TEST
)
macro
(
CURL_INTERNAL_TEST_RUN CURL_TEST
)
if
(
"
${
CURL_TEST
}
_COMPILE"
MATCHES
"^
${
CURL_TEST
}
_COMPILE$"
)
set
(
MACRO_CHECK_FUNCTION_DEFINITIONS
"-D
${
CURL_TEST
}
${
CMAKE_REQUIRED_FLAGS
}
"
)
if
(
CMAKE_REQUIRED_LIBRARIES
)
set
(
CURL_TEST_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=
${
CMAKE_REQUIRED_LIBRARIES
}
"
)
endif
(
CMAKE_REQUIRED_LIBRARIES
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
"
)
try_run
(
${
CURL_TEST
}
${
CURL_TEST
}
_COMPILE
${
CMAKE_BINARY_DIR
}
${
CMAKE_CURRENT_SOURCE_DIR
}
/CMake/CurlTests.c
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=
${
MACRO_CHECK_FUNCTION_DEFINITIONS
}
"
${
CURL_TEST_ADD_LIBRARIES
}
"
OUTPUT_VARIABLE OUTPUT
)
if
(
${
CURL_TEST
}
_COMPILE AND NOT
${
CURL_TEST
}
)
set
(
${
CURL_TEST
}
1 CACHE INTERNAL
"Curl test
${
FUNCTION
}
"
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
- Success"
)
else
(
${
CURL_TEST
}
_COMPILE AND NOT
${
CURL_TEST
}
)
message
(
STATUS
"Performing Curl Test
${
CURL_TEST
}
- Failed"
)
set
(
${
CURL_TEST
}
""
CACHE INTERNAL
"Curl test
${
FUNCTION
}
"
)
file
(
APPEND
"
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeError.log"
"Performing Curl Test
${
CURL_TEST
}
failed with the following output:
\n
"
"
${
OUTPUT
}
"
)
if
(
${
CURL_TEST
}
_COMPILE
)
file
(
APPEND
"
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeError.log"
"There was a problem running this test
\n
"
)
endif
(
${
CURL_TEST
}
_COMPILE
)
file
(
APPEND
"
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeError.log"
"
\n\n
"
)
endif
(
${
CURL_TEST
}
_COMPILE AND NOT
${
CURL_TEST
}
)
endif
(
"
${
CURL_TEST
}
_COMPILE"
MATCHES
"^
${
CURL_TEST
}
_COMPILE$"
)
endmacro
(
CURL_INTERNAL_TEST_RUN
)
# Do curl specific tests
foreach
(
CURL_TEST
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment