File: CMakeLists.txt

package info (click to toggle)
ball 1.5.0%2Bgit20180813.37fc53c-6
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 239,888 kB
  • sloc: cpp: 326,149; ansic: 4,208; python: 2,303; yacc: 1,778; lex: 1,099; xml: 958; sh: 322; makefile: 95
file content (86 lines) | stat: -rw-r--r-- 2,256 bytes parent folder | download | duplicates (4)
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
82
83
84
85
86
PROJECT(BALLPython)

IF(BALL_PYTHON_SUPPORT)
	INCLUDE(SIPMacros)

	REMOVE_DEFINITIONS(-pedantic)

	INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})

	SET(SIP_EXTRA_OPTIONS "-e")

	FILE(GLOB BALL_SIP_DEPENDS "BALL/*.sip")
	FILE(GLOB VIEW_SIP_DEPENDS "VIEW/*.sip")

	SET(SIP_EXTRA_FILES_DEPEND ${BALL_SIP_DEPENDS} ${VIEW_SIP_DEPENDS})

	# Add the BALLCore python bindings
	SET(SIP_EXTRA_SOURCES 
		BALL/pyBALLSipHelper.C
		BALL/pyIndexList.C
		BALL/pyConstant.C
	)
        ADD_SIP_PYTHON_MODULE(BALLCore BALLCoremodule BALL/BALLCore.sip BALL Qt5::Core)
	
	IF(BALL_HAS_VIEW)
		SET(SIP_EXTRA_SOURCES
			VIEW/pyCompositeList.C
			VIEW/pyBALLSipHelper.C
			VIEW/pyColorRGBAVector.C
			VIEW/pyDatasetVector.C
		)
		# Add the VIEW python bindings
		SET(SIP_INCLUDES ${PROJECT_SOURCE_DIR})
                ADD_SIP_PYTHON_MODULE(VIEW VIEWmodule VIEW/VIEW.sip BALL VIEW Qt5::Widgets)
	ENDIF()

	# Install the BALL.py script
	IF(NOT WIN32)
		SET(BALL_PY_LOCATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
	ELSE()
		SET(BALL_PY_LOCATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR})

	ENDIF()

	ADD_CUSTOM_COMMAND(TARGET BALLCoremodule POST_BUILD
		COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/BALL.py ${BALL_PY_LOCATION}
	)

	IF(NOT APPLE)
		INSTALL(TARGETS BALLCoremodule
			COMPONENT "${COMPONENT_PYTHON_BINDINGS_BALL}"
			RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
			LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
		)

		IF(BALL_HAS_VIEW)
			INSTALL(TARGETS VIEWmodule
				COMPONENT "${COMPONENT_PYTHON_BINDINGS_VIEW}"
				RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
				LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
			)
		ENDIF()

		INSTALL(FILES ${PROJECT_SOURCE_DIR}/BALL.py
			COMPONENT "${COMPONENT_PYTHON_BINDINGS_BALL}"
			DESTINATION "${BALL_PYTHON_INSTALL_DIRECTORY}"
		)

		IF (WIN32)
			#		INSTALL(FILES ${PYTHON_EXECUTABLE}
			#	COMPONENT "${COMPONENT_PYTHON_BINDINGS_BALL}"
			#	DESTINATION "${CMAKE_INSTALL_BINDIR}"
			#)


			GET_FILENAME_COMPONENT(PYTHON_SITE_PACKAGES_DIR ${PYTHON_EXECUTABLE} PATH)
			SET(PYTHON_SITE_PACKAGES_DIR "${PYTHON_SITE_PACKAGES_DIR}/lib")

			INSTALL(DIRECTORY "${PYTHON_SITE_PACKAGES_DIR}"
				COMPONENT "${COMPONENT_PYTHON_BINDINGS_BALL}"
				DESTINATION "${CMAKE_INSTALL_BINDIR}"
			)
		ENDIF ()
	ENDIF()

ENDIF()