summaryrefslogtreecommitdiff
path: root/cmake/CMakeLists.txt
blob: 24be023b1cff6593de32d763ec3dc07e2deebba4 (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

cmake_minimum_required(VERSION 2.6)
project(CALC_DP_CONNECTOR)

set(TARGET_NAME sapconnector.uno)
set(SHARED_LIB_NAME lib${TARGET_NAME}.so)
set(RDB_NAME ${TARGET_NAME}.rdb)
set(PKG_NAME ${TARGET_NAME}.oxt)

set(CMAKE_VERBOSE_MAKEFILE false)
set_directory_properties(
	PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${RDB_NAME};${PKG_NAME}")

set(URE_BINDIR /usr/lib/ooo3/ure/bin ../bin)
set(URE_LIBDIR /usr/lib/ooo3/solver/lib)

include_directories(../inc /usr/lib/ooo3/solver/inc /usr/lib/ooo3/solver/inc/offuh)
link_directories(/usr/lib/ooo3/solver/lib)

add_definitions(-DUNX -DGCC -DLINUX -DCPPU_ENV=gcc3 -DHAVE_GCC_VISIBILITY_FEATURE)

set(CMAKE_BUILD_TYPE debug)
set(CMAKE_C_FLAGS_DEBUG "-g -Wall")
set(CMAKE_CXX_FLAGS_DEBUG "-g -Wall -Wno-deprecated")
set(CMAKE_SHARED_LINKER_FLAGS "-shared -Wl,-soname,${SHARED_LIB_NAME} -Wl,--no-undefined")

# Source files to build.
set(SRC_FILES 
	../source/dpsource.cxx 
	../source/dpdimensions.cxx
	../source/dpdimension.cxx
	../source/dphierarchies.cxx
	../source/dphierarchy.cxx
	../source/dplevels.cxx
	../source/dplevel.cxx
	../source/dpmembers.cxx
	../source/dpmember.cxx
)
add_library(${TARGET_NAME} SHARED ${SRC_FILES})

target_link_libraries(${TARGET_NAME} uno_cppuhelpergcc3 uno_sal uno_cppu)

find_program(REGCOMP_EXEC NAMES regcomp PATHS ${URE_BINDIR})
add_custom_command(
	TARGET ${TARGET_NAME} POST_BUILD
	COMMAND ${REGCOMP_EXEC} -register -r ${RDB_NAME} -c ${CMAKE_CURRENT_SOURCE_DIR}/${SHARED_LIB_NAME}
)

add_custom_command(
	TARGET ${TARGET_NAME} POST_BUILD
	COMMAND ../bin/make_manifest.py META-INF/manifest.xml ${SHARED_LIB_NAME} Linux_x86
)

find_program(ZIP_EXEC NAMES zip)
add_custom_command(
	TARGET ${TARGET_NAME} POST_BUILD
	COMMAND ${ZIP_EXEC} -j ${PKG_NAME} ${RDB_NAME} ${SHARED_LIB_NAME} description.xml
	COMMAND ${ZIP_EXEC} -r ${PKG_NAME} META-INF/manifest.xml
)