Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
CMake
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
2,682
Issues
2,682
List
Boards
Labels
Milestones
Merge Requests
18
Merge Requests
18
Packages
Packages
Container Registry
External Wiki
External Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
CMake
CMake
Commits
5dcc833b
Commit
5dcc833b
authored
Nov 18, 2015
by
Roger Leigh
Committed by
Brad King
Nov 23, 2015
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
FindXercesC: Add imported targets and unit test
parent
e45e503f
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
99 additions
and
10 deletions
+99
-10
Help/release/dev/FindXercesC-imported-targets.rst
Help/release/dev/FindXercesC-imported-targets.rst
+4
-0
Modules/FindXercesC.cmake
Modules/FindXercesC.cmake
+57
-10
Tests/CMakeLists.txt
Tests/CMakeLists.txt
+4
-0
Tests/FindXercesC/CMakeLists.txt
Tests/FindXercesC/CMakeLists.txt
+10
-0
Tests/FindXercesC/Test/CMakeLists.txt
Tests/FindXercesC/Test/CMakeLists.txt
+17
-0
Tests/FindXercesC/Test/main.cxx
Tests/FindXercesC/Test/main.cxx
+7
-0
No files found.
Help/release/dev/FindXercesC-imported-targets.rst
0 → 100644
View file @
5dcc833b
FindXercesC-imported-targets
----------------------------
* The :module:`FindXercesC` module now provides imported targets.
Modules/FindXercesC.cmake
View file @
5dcc833b
...
...
@@ -4,23 +4,42 @@
#
# Find the Apache Xerces-C++ validating XML parser headers and libraries.
#
#
This module reports information about the Xerces installation in
#
several variables. General variables::
#
Imported targets
#
^^^^^^^^^^^^^^^^
#
# XercesC_FOUND - true if the Xerces headers and libraries were found
# XercesC_VERSION - Xerces release version
# XercesC_INCLUDE_DIRS - the directory containing the Xerces headers
# XercesC_LIBRARIES - Xerces libraries to be linked
# This module defines the following :prop_tgt:`IMPORTED` targets:
#
# The following cache variables may also be set::
# ``XercesC::XercesC``
# The Xerces-C++ ``xerces-c`` library, if found.
#
# XercesC_INCLUDE_DIR - the directory containing the Xerces headers
# XercesC_LIBRARY - the Xerces library
# Result variables
# ^^^^^^^^^^^^^^^^
#
# This module will set the following variables in your project:
#
# ``XercesC_FOUND``
# true if the Xerces headers and libraries were found
# ``XercesC_VERSION``
# Xerces release version
# ``XercesC_INCLUDE_DIRS``
# the directory containing the Xerces headers
# ``XercesC_LIBRARIES``
# Xerces libraries to be linked
#
# Cache variables
# ^^^^^^^^^^^^^^^
#
# The following cache variables may also be set:
#
# ``XercesC_INCLUDE_DIR``
# the directory containing the Xerces headers
# ``XercesC_LIBRARY``
# the Xerces library
# Written by Roger Leigh <rleigh@codelibre.net>
#=============================================================================
# Copyright 2014 University of Dundee
# Copyright 2014
-2015
University of Dundee
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
...
...
@@ -90,4 +109,32 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(XercesC
if
(
XercesC_FOUND
)
set
(
XercesC_INCLUDE_DIRS
"
${
XercesC_INCLUDE_DIR
}
"
)
set
(
XercesC_LIBRARIES
"
${
XercesC_LIBRARY
}
"
)
# For header-only libraries
if
(
NOT TARGET XercesC::XercesC
)
add_library
(
XercesC::XercesC UNKNOWN IMPORTED
)
if
(
XercesC_INCLUDE_DIRS
)
set_target_properties
(
XercesC::XercesC PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES
"
${
XercesC_INCLUDE_DIRS
}
"
)
endif
()
if
(
EXISTS
"
${
XercesC_LIBRARY
}
"
)
set_target_properties
(
XercesC::XercesC PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES
"CXX"
IMPORTED_LOCATION
"
${
XercesC_LIBRARY
}
"
)
endif
()
if
(
EXISTS
"
${
XercesC_LIBRARY_DEBUG
}
"
)
set_property
(
TARGET XercesC::XercesC APPEND PROPERTY
IMPORTED_CONFIGURATIONS DEBUG
)
set_target_properties
(
XercesC::XercesC PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG
"CXX"
IMPORTED_LOCATION_DEBUG
"
${
XercesC_LIBRARY_DEBUG
}
"
)
endif
()
if
(
EXISTS
"
${
XercesC_LIBRARY_RELEASE
}
"
)
set_property
(
TARGET XercesC::XercesC APPEND PROPERTY
IMPORTED_CONFIGURATIONS RELEASE
)
set_target_properties
(
XercesC::XercesC PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE
"CXX"
IMPORTED_LOCATION_RELEASE
"
${
XercesC_LIBRARY_RELEASE
}
"
)
endif
()
endif
()
endif
()
Tests/CMakeLists.txt
View file @
5dcc833b
...
...
@@ -1367,6 +1367,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
add_subdirectory
(
FindOpenSSL
)
endif
()
if
(
CMake_TEST_FindXercesC
)
add_subdirectory
(
FindXercesC
)
endif
()
add_subdirectory
(
FindThreads
)
# Matlab module
...
...
Tests/FindXercesC/CMakeLists.txt
0 → 100644
View file @
5dcc833b
add_test
(
NAME FindXercesC.Test COMMAND
${
CMAKE_CTEST_COMMAND
}
-C $<CONFIGURATION>
--build-and-test
"
${
CMake_SOURCE_DIR
}
/Tests/FindXercesC/Test"
"
${
CMake_BINARY_DIR
}
/Tests/FindXercesC/Test"
${
build_generator_args
}
--build-project TestFindXercesC
--build-options
${
build_options
}
--test-command
${
CMAKE_CTEST_COMMAND
}
-V -C $<CONFIGURATION>
)
Tests/FindXercesC/Test/CMakeLists.txt
0 → 100644
View file @
5dcc833b
cmake_minimum_required
(
VERSION 3.1
)
project
(
TestFindXercesC CXX
)
include
(
CTest
)
# CMake does not actually provide FindXercesC publicly.
set
(
CMAKE_MODULE_PATH
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../../Source/Modules
)
find_package
(
XercesC REQUIRED
)
add_executable
(
test_xercesc_tgt main.cxx
)
target_link_libraries
(
test_xercesc_tgt XercesC::XercesC
)
add_test
(
NAME test_xercesc_tgt COMMAND test_xercesc_tgt
)
add_executable
(
test_xercesc_var main.cxx
)
target_include_directories
(
test_xercesc_var PRIVATE
${
XercesC_INCLUDE_DIRS
}
)
target_link_libraries
(
test_xercesc_var PRIVATE
${
XercesC_LIBRARIES
}
)
add_test
(
NAME test_xercesc_var COMMAND test_xercesc_var
)
Tests/FindXercesC/Test/main.cxx
0 → 100644
View file @
5dcc833b
#include <xercesc/util/PlatformUtils.hpp>
int
main
()
{
xercesc
::
XMLPlatformUtils
::
Initialize
();
xercesc
::
XMLPlatformUtils
::
Terminate
();
}
Brad King
@brad.king
mentioned in commit
f66f6e24
·
Nov 24, 2015
mentioned in commit
f66f6e24
mentioned in commit f66f6e2490a883ecb9a9505d87f76869980e776f
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment