##
## Copyright by the Board of Trustees of the University of Illinois.
## All rights reserved.
##
## This file is part of HDF5. The full HDF5 copyright notice, including
## terms governing use, modification, and redistribution, is contained in
## the files COPYING and Copyright.html. COPYING can be found at the root
## of the source code distribution tree; Copyright.html can be found at the
## root level of an installed copy of the electronic HDF5 document set and
## is linked from the top-level documents page. It can also be found at
## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have
## access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.
##
## HDF5 Library Makefile(.in)
##
top_srcdir=@top_srcdir@
top_builddir=../..
srcdir=@srcdir@
@COMMENCE@
## Add include directory to the C preprocessor flags, add -lh5tools and
## -lhdf5 to the list of libraries.
## Add also the test include directory for #defines
CPPFLAGS=-I. -I$(srcdir) -I$(top_builddir)/src -I$(top_srcdir)/src \
-I$(top_srcdir)/test \
-I$(top_srcdir)/tools/lib @CPPFLAGS@
## Test programs and scripts.
##
TEST_PROGS=h5repacktst
TEST_SCRIPTS=$(srcdir)/h5repack.sh
## These are our main targets: library and tools.
##
LIBHDF5=$(top_builddir)/src/libhdf5.la
LIBTOOLS=../lib/libh5tools.la
PUB_PROGS=h5repack
PROGS=$(PUB_PROGS) $(TEST_PROGS)
## Source and object files for the library; do not install
##
LIB_SRC=
LIB_OBJ=$(LIB_SRC:.c=.lo)
PUB_LIB=
## Temporary files. *.h5 are generated by h5repack. They should
## copied to the testfiles/ directory if update is required.
MOSTLYCLEAN=*.h5
## Source and object files for programs...
##
PROG_SRC=h5repack.c h5repack_copy.c h5repack_list.c h5repack_main.c h5repack_opttable.c h5repack_parse.c test_h5repack_add.c test_h5repack_main.c
PROG_OBJ=$(PROG_SRC:.c=.lo)
OBJS=h5repack.lo h5repack_copy.lo h5repack_list.lo h5repack_main.lo h5repack_opttable.lo h5repack_parse.lo
TEST_OBJS=h5repack.lo h5repack_copy.lo h5repack_list.lo h5repack_opttable.lo h5repack_parse.lo test_h5repack_add.lo test_h5repack_main.lo
PRIVATE_HDR=
## Source and object files for the tests
##
TEST_SRC=
TEST_OBJ=$(TEST_SRC:.c=.lo)
## Programs have to be built before they can be tested!
##
check test _test: $(PROGS)
## How to build the programs...They all depend on the hdf5 library and
## the tools library compiled in this directory.
##
$(PROGS): $(LIBTOOLS) $(LIBHDF5)
h5repack: $(OBJS)
@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(OBJS) $(LIBTOOLS) $(LIBHDF5) $(LDFLAGS) $(LIBS)
h5repacktst: $(TEST_OBJS)
@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(TEST_OBJS) $(LIBTOOLS) $(LIBHDF5) $(LDFLAGS) $(LIBS)
@CONCLUDE@
a href='/oss-git/CMake.git/tree/Tests?h=v3.29.0-rc1&id=be9ebc104a2cfe74dec296624ddb66fe7a56949f'>Tests/VSMidl/CMakeLists.txt
blob: 342b8fb678cdfbad7a5bf9173ef11ffe94d157b9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# This CMakeLists.txt file exists solely to drive the one found in the "src"
# subdir as an ExternalProject build. The project in "src" cannot build when
# there is a space in the directory name, so we copy that directory to a place
# guaranteed not to have a space in the name, build it there, and then copy the
# resulting output directory back up here into this CMake test's build tree.
#
if(NOT DEFINED CMAKE_BUILDNAME)
string(REGEX REPLACE "^.*/([^/]+)/[^/]+/([^/]+)$" "\\1" CMAKE_BUILDNAME "${CMAKE_CURRENT_BINARY_DIR}")
string(REGEX REPLACE "^.*/([^/]+)/[^/]+/([^/]+)$" "\\2" THIS_TESTNAME "${CMAKE_CURRENT_BINARY_DIR}")
string(REPLACE " " "_" CMAKE_BUILDNAME "${CMAKE_BUILDNAME}")
endif()
message(STATUS "CMAKE_BUILDNAME='${CMAKE_BUILDNAME}'")
message(STATUS "THIS_TESTNAME='${THIS_TESTNAME}'")
cmake_minimum_required(VERSION 2.8.12)
project(${THIS_TESTNAME})
include(ExternalProject)
if(NOT DEFINED HOME)
if(DEFINED ENV{CTEST_REAL_HOME})
set(HOME "$ENV{CTEST_REAL_HOME}")
else()
set(HOME "$ENV{HOME}")
endif()
if(NOT HOME AND WIN32)
# Try for USERPROFILE as HOME equivalent:
string(REPLACE "\\" "/" HOME "$ENV{USERPROFILE}")
endif()
# But just use root of SystemDrive if HOME contains any spaces:
# (Default on XP and earlier...)
if(HOME MATCHES " " AND WIN32)
string(REPLACE "\\" "/" HOME "$ENV{SystemDrive}")
endif()
if(HOME MATCHES " ")
set(HOME "")
endif()
endif()
message(STATUS "HOME='${HOME}'")
if(NOT DEFINED url)
set(url "${CMAKE_CURRENT_SOURCE_DIR}/src")
endif()
message(STATUS "url='${url}'")
set(base_dir "${HOME}/.cmake/Dashboards/${CMAKE_BUILDNAME}/${THIS_TESTNAME}")
set(binary_dir "${base_dir}/build")
set(source_dir "${base_dir}/src")
# Source dir for this project exists in the CMake source tree, but we cannot
# use it in-place since there might be a space in its directory name.
# Source dir is therefore copied under a '.cmake/Dashboards'
# dir in your HOME directory to give it a name with no spaces.
#
ExternalProject_Add(clean-${PROJECT_NAME}
DOWNLOAD_COMMAND ""
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E rm -rf "${source_dir}"
BUILD_COMMAND ${CMAKE_COMMAND} -E rm -rf "${binary_dir}"
INSTALL_COMMAND ""
)
ExternalProject_Add(download-${PROJECT_NAME}
URL "${url}"
SOURCE_DIR "${source_dir}"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
DEPENDS clean-${PROJECT_NAME}
)
ExternalProject_Add(build-${PROJECT_NAME}
DOWNLOAD_COMMAND ""
SOURCE_DIR "${source_dir}"
BINARY_DIR "${binary_dir}"
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
"${binary_dir}/${CMAKE_CFG_INTDIR}"
"${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}"
DEPENDS download-${PROJECT_NAME}
)
|