File: CMakeLists.txt

package info (click to toggle)
jsusfx 0.4.0-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,912 kB
  • sloc: ansic: 19,352; cpp: 9,314; php: 403; yacc: 338; python: 163; makefile: 124; lex: 113; sh: 6
file content (63 lines) | stat: -rw-r--r-- 1,702 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
cmake_minimum_required(VERSION 2.6)

project(jsusfx)
option(PORTABLE "build a portable eel2")
if (PORTABLE)
	add_definitions(-DEEL_TARGET_PORTABLE=1)
endif()


# -- JSUSFX library --
set(sources
	jsusfx.cpp
	jsusfx_file.cpp
	jsusfx_gfx.cpp
	jsusfx_serialize.cpp
	riff.cpp
	WDL/eel2/nseel-compiler.c
	WDL/eel2/nseel-eval.c
	WDL/eel2/nseel-ram.c
	WDL/eel2/nseel-yylex.c
	WDL/eel2/nseel-cfunc.c
	WDL/fft.c)

file(GLOB_RECURSE headers *.h)

source_group("sources" FILES ${sources})
source_group("headers" FILES ${headers})

if (UNIX AND NOT APPLE)
	if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") 
		add_definitions(-mfpu=vfp -march=armv6t2 -marm)
		add_library(jsusfx ${sources} ${headers})
	else() 
		# Linux x64
		if ((NOT PORTABLE) AND (CMAKE_SIZEOF_VOID_P EQUAL 8))
			add_custom_command(
				OUTPUT ${PROJECT_SOURCE_DIR}/WDL/eel2/asm-nseel-x64.o
				COMMAND php a2x64.php elf64
				WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/WDL/eel2
			)
			add_library(jsusfx ${sources} ${headers} ${PROJECT_SOURCE_DIR}/WDL/eel2/asm-nseel-x64.o)
		else()
			# Linux i686
			add_library(jsusfx ${sources} ${headers})
		endif()
	endif()
else()
	if (PORTABLE OR WIN32)
		add_library(jsusfx ${sources} ${headers})
	else()
		# MacOS, 64-bit always
		add_custom_command(
			OUTPUT ${PROJECT_SOURCE_DIR}/WDL/eel2/asm-nseel-x64-macho.o
			COMMAND php a2x64.php macho64x
			DEPENDS ${PROJECT_SOURCE_DIR}/WDL/eel2/asm-nseel-x86-gcc.c
			WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/WDL/eel2
		)
		add_library(jsusfx ${sources} ${headers} ${PROJECT_SOURCE_DIR}/WDL/eel2/asm-nseel-x64-macho.o)
	endif()
endif()

target_compile_definitions(jsusfx PUBLIC WDL_FFT_REALSIZE=8)
target_include_directories(jsusfx PUBLIC "${PROJECT_SOURCE_DIR}")