blob: f73a671b4cc6816c3c695e5ff3a1e03d7699756d (
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
|
#if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
# set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
#else(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
# file(RELATIVE_PATH DIR ${Anope_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
# set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/${DIR})
#endif(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
set(TOOLS_SRCS anopesmtp.c db-convert.c db-merger.c)
list(SORT TOOLS_SRCS)
set_source_files_properties(${TOOLS_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${CXXFLAGS}")
set(anopesmtp.c_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/smtp.h)
set(db-convert.c_HEADERS sysconf.h)
set(db-merger.c_HEADERS sysconf.h)
foreach(SRC ${TOOLS_SRCS})
#string(REGEX REPLACE "\\." "_" SRC_TARGET ${SRC})
string(REGEX REPLACE "\\.cpp$" ".x" SRC_X ${SRC})
string(REGEX REPLACE "\\.c$" ".o" SRC_O ${SRC_X})
string(REGEX REPLACE "\\.x$" ".o" OBJ ${SRC_O})
string(REGEX REPLACE "\\.o$" "" EXE ${OBJ})
#string(REGEX REPLACE "\\." "_" OBJ_TARGET ${OBJ})
#set(SRC_OBJS ${SRC_OBJS} ${BUILD_DIR}/${OBJ})
set(TOOLS ${TOOLS} ${EXE})
#add_custom_command(OUTPUT ${BUILD_DIR}/${OBJ}
# COMMAND ${MY_COMPILER} ${MY_COMP_ARG} ${CMAKE_CXX_CFLAGS} -I${Anope_SOURCE_DIR}/include -c ${SRC} -o ${BUILD_DIR}/${OBJ}
# MAIN_DEPENDENCY ${SRC}
#)
#add_custom_target(src_${OBJ_TARGET} DEPENDS ${BUILD_DIR}/${OBJ})
#add_custom_target(src_${SRC_TARGET} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${SRC})
#add_dependencies(src_srcs src_${SRC_TARGET})
set(HEADERS)
if(${SRC}_HEADERS)
foreach(HEADER ${${SRC}_HEADERS})
string(SUBSTRING ${HEADER} 0 1 FIRST_CHAR)
if(FIRST_CHAR STREQUAL "/")
set(HEADERS ${HEADERS} ${HEADER})
else(FIRST_CHAR STREQUAL "/")
set(HEADERS ${HEADERS} ${Anope_SOURCE_DIR}/include/${HEADER})
endif(FIRST_CHAR STREQUAL "/")
endforeach(HEADER)
endif(${SRC}_HEADERS)
if(HEADERS)
set_source_files_properties(${SRC} PROPERTIES OBJECT_DEPENDS "${HEADERS}")
endif(HEADERS)
add_executable(${EXE} ${SRC})
add_dependencies(${EXE} services)
#set_target_properties(${EXE} PROPERTIES COMPILE_FLAGS ${CXXFLAGS})
install(TARGETS ${EXE}
DESTINATION "${BINDIR}/tools"
)
endforeach(SRC)
if(RUNGROUP)
install(CODE "execute_process(COMMAND ${CHMOD} 2775 \"${BINDIR}/tools\")")
endif(RUNGROUP)
|