Thu, 19 Dec 2019 18:40:00 +0100
adds very simple cmake wrapper
372
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1 | cmake_minimum_required(VERSION 3.15) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2 | project(ucx) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
3 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
4 | # Autotools Buildsystem |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
5 | add_custom_command( |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
6 | OUTPUT ${CMAKE_SOURCE_DIR}/configure |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
7 | MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/configure.ac |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
8 | COMMAND ${CMAKE_SOURCE_DIR}/autogen.sh |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
9 | COMMENT "Generating configure script.") |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
10 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
11 | add_custom_command( |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
12 | OUTPUT ${CMAKE_SOURCE_DIR}/Makefile |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
13 | DEPENDS ${CMAKE_SOURCE_DIR}/configure |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
14 | COMMAND ${CMAKE_SOURCE_DIR}/configure |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
15 | COMMENT "Configuring project.") |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
16 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
17 | add_custom_target(libucx-build |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
18 | DEPENDS ${CMAKE_SOURCE_DIR}/Makefile |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
19 | COMMAND $(MAKE) -f ${CMAKE_SOURCE_DIR}/Makefile |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
20 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
21 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
22 | add_custom_target(libucx-clean |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
23 | DEPENDS ${CMAKE_SOURCE_DIR}/Makefile |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
24 | COMMAND $(MAKE) -f ${CMAKE_SOURCE_DIR}/Makefile clean |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
25 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
26 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
27 | add_custom_target(libucx-check |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
28 | DEPENDS ${CMAKE_SOURCE_DIR}/Makefile |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
29 | COMMAND $(MAKE) ${CMAKE_SOURCE_DIR}/Makefile check |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
30 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
31 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
32 | # Web Documentation |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
33 | add_subdirectory(docs/src) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
34 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
35 | # API Documentation |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
36 | find_package(Doxygen) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
37 | option(BUILD_DOCUMENTATION "Create API documentation." ${DOXYGEN_FOUND}) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
38 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
39 | if(BUILD_DOCUMENTATION) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
40 | if(NOT DOXYGEN_FOUND) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
41 | message(FATAL_ERROR "Doxygen is needed to build the documentation.") |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
42 | endif() |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
43 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
44 | set(DOXY_INPUT ${CMAKE_SOURCE_DIR}/src) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
45 | set(DOXY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/docs) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
46 | set(DOXY_PROJECT_LOGO ${CMAKE_SOURCE_DIR}/uaplogo.png) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
47 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
48 | configure_file(${CMAKE_SOURCE_DIR}/cmake_infile.doxygen ${CMAKE_BINARY_DIR}/Doxyfile) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
49 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
50 | add_custom_target(docs-api |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
51 | COMMAND ${DOXYGEN_EXECUTABLE} |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
52 | WORKING_DIRECTORY ${CMAKE_BINARY_DIR} |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
53 | COMMENT "Generating API documentation with Doxygen") |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
54 | endif() |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
55 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
56 | add_custom_target(docs-all DEPENDS docs-html docs-api) |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
57 | |
a3e494af5c09
adds very simple cmake wrapper
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
58 | add_custom_target(build-all DEPENDS docs-all libucx-check) |