naspro
changeset 172:d1f0d4a83318 trunk
Switching to CMake, part #1
| author | Stefano D'Angelo <zanga.mail@gmail.com> |
|---|---|
| date | Thu Mar 25 18:16:12 2010 +0200 (22 months ago) |
| parents | 7aeb0c5ff3af |
| children | 71372f617827 |
| files | naspro-core/CMakeLists.txt naspro-core/Makefile naspro-core/Makefile.haiku naspro-core/Makefile.osx naspro-core/config.h.in naspro-core/nacore.pc.in naspro-core/src/manifest.c naspro-core/src/posix/dl.c |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/naspro-core/CMakeLists.txt Thu Mar 25 18:16:12 2010 +0200 1.3 @@ -0,0 +1,35 @@ 1.4 +cmake_minimum_required(VERSION 2.8) 1.5 + 1.6 +project(NACORE) 1.7 + 1.8 +set(NACORE_VERSION 0.2.0) 1.9 + 1.10 +set(NACORE_SOURCES src/avl.c src/init.c src/lv2api.c src/manifest.c) 1.11 +if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") 1.12 + set(NACORE_SOURCES ${NACORE_SOURCES} src/posix/dl.c src/posix/env.c src/posix/path.c) 1.13 + set(LIBS_DL -ldl) 1.14 +endif () 1.15 + 1.16 +include_directories("${NACORE_SOURCE_DIR}" "${NACORE_SOURCE_DIR}/include") 1.17 +add_library(nacore SHARED ${NACORE_SOURCES}) 1.18 +set_target_properties(nacore PROPERTIES VERSION 2.0.0 SOVERSION 2) 1.19 + 1.20 +if (NOT DEFINED LIBDIR_INSTALL) 1.21 + set(LIBDIR_INSTALL "${CMAKE_INSTALL_PREFIX}/lib") 1.22 +endif () 1.23 + 1.24 +if (NOT DEFINED INCLUDEDIR_INSTALL) 1.25 + set(INCLUDEDIR_INSTALL "${CMAKE_INSTALL_PREFIX}/include") 1.26 +endif () 1.27 + 1.28 +if (NOT DEFINED PKGCONFIGDIR_INSTALL) 1.29 + set(PKGCONFIGDIR_INSTALL "${LIBDIR_INSTALL}/pkgconfig") 1.30 +endif () 1.31 + 1.32 +set(SO_FILE_EXT "\"${CMAKE_SHARED_MODULE_SUFFIX}\"") 1.33 +configure_file("${NACORE_SOURCE_DIR}/config.h.in" "${NACORE_BINARY_DIR}/config.h" @ONLY) 1.34 +configure_file("${NACORE_SOURCE_DIR}/nacore.pc.in" "${NACORE_BINARY_DIR}/nacore.pc" @ONLY) 1.35 + 1.36 +install(TARGETS nacore DESTINATION ${LIBDIR_INSTALL}) 1.37 +install(DIRECTORY include/NASPRO DESTINATION ${INCLUDEDIR_INSTALL}) 1.38 +install(FILES nacore.pc DESTINATION ${PKGCONFIGDIR_INSTALL})
2.1 --- a/naspro-core/Makefile Fri Mar 12 09:13:06 2010 +0200 2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 2.3 @@ -1,60 +0,0 @@ 2.4 -.POSIX: 2.5 - 2.6 -.SUFFIXES: 2.7 - 2.8 -### Change this... 2.9 - 2.10 -DESTIR = 2.11 -PREFIX = /usr/local 2.12 -LIB_DIR = $(PREFIX)/lib 2.13 -INCLUDE_DIR = $(PREFIX)/include 2.14 - 2.15 -CC = gcc 2.16 -CFLAGS = -O2 -ansi -pedantic -Wall -fPIC 2.17 - 2.18 -DL_LDFLAGS = -ldl 2.19 -LDFLAGS = -shared $(DL_LDFLAGS) 2.20 - 2.21 -SO_FILE_EXT = .so 2.22 - 2.23 -### ... but not this 2.24 - 2.25 -TARGETS = src/libnacore$(SO_FILE_EXT) 2.26 - 2.27 -LIBNACORE_SOURCES = src/avl.c \ 2.28 - src/dl.h \ 2.29 - src/init.c \ 2.30 - src/lv2api.c \ 2.31 - src/manifest.c \ 2.32 - src/path.h \ 2.33 - src/posix/dl.c \ 2.34 - src/posix/env.c \ 2.35 - src/posix/path.c 2.36 - 2.37 -INCLUDE_PATHS = -I. -Iinclude 2.38 - 2.39 -HEADERS = include/NASPRO/core/avl.h \ 2.40 - include/NASPRO/core/bridge.h \ 2.41 - include/NASPRO/core/dl.h \ 2.42 - include/NASPRO/core/env.h \ 2.43 - include/NASPRO/core/lib.h \ 2.44 - include/NASPRO/core/lv2api.h \ 2.45 - include/NASPRO/core/manifest.h \ 2.46 - include/NASPRO/core/path.h \ 2.47 - include/NASPRO/core/string.h 2.48 - 2.49 -DEFS = -DSO_FILE_EXT="\"$(SO_FILE_EXT)\"" 2.50 - 2.51 -all: $(TARGETS) 2.52 - 2.53 -src/libnacore$(SO_FILE_EXT): $(LIBNACORE_SOURCES) $(HEADERS) 2.54 - $(CC) $(CFLAGS) $(LDFLAGS) $(DEFS) $(INCLUDE_PATHS) \ 2.55 - $(LIBNACORE_SOURCES) -o $@ 2.56 - 2.57 -install: $(TARGETS) $(HEADERS) 2.58 - cp src/libnacore$(SO_FILE_EXT) $(DESTDIR)$(LIB_DIR) 2.59 - mkdir -p $(DESTDIR)$(INCLUDE_DIR) 2.60 - cp -R include/NASPRO $(DESTDIR)$(INCLUDE_DIR) 2.61 - 2.62 -clean: 2.63 - rm -f $(TARGETS)
3.1 --- a/naspro-core/Makefile.haiku Fri Mar 12 09:13:06 2010 +0200 3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 3.3 @@ -1,22 +0,0 @@ 3.4 -.POSIX: 3.5 - 3.6 -.SUFFIXES: 3.7 - 3.8 -### Change this... 3.9 - 3.10 -PREFIX = /boot/common 3.11 - 3.12 -DL_LDFLAGS = 3.13 - 3.14 -### ... but not this 3.15 - 3.16 -MAKE_VARS = PREFIX="$(PREFIX)" DL_LDFLAGS="$(DL_LDFLAGS)" 3.17 - 3.18 -all: 3.19 - $(MAKE) $(MAKE_VARS) all 3.20 - 3.21 -install: 3.22 - $(MAKE) $(MAKE_VARS) install 3.23 - 3.24 -clean: 3.25 - $(MAKE) $(MAKE_VARS) clean
4.1 --- a/naspro-core/Makefile.osx Fri Mar 12 09:13:06 2010 +0200 4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 4.3 @@ -1,20 +0,0 @@ 4.4 -.POSIX: 4.5 - 4.6 -.SUFFIXES: 4.7 - 4.8 -### Change this... 4.9 - 4.10 -SO_FILE_EXT = .dylib 4.11 - 4.12 -### ... but not this 4.13 - 4.14 -MAKE_VARS = SO_FILE_EXT="$(SO_FILE_EXT)" 4.15 - 4.16 -all: 4.17 - $(MAKE) $(MAKE_VARS) all 4.18 - 4.19 -install: 4.20 - $(MAKE) $(MAKE_VARS) install 4.21 - 4.22 -clean: 4.23 - $(MAKE) $(MAKE_VARS) clean
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/naspro-core/config.h.in Thu Mar 25 18:16:12 2010 +0200 5.3 @@ -0,0 +1,6 @@ 5.4 +#ifndef _NACORE_CONFIG_H_ 5.5 +#define _NACORE_CONFIG_H_ 5.6 + 5.7 +#define SO_FILE_EXT @SO_FILE_EXT@ 5.8 + 5.9 +#endif /* !_NACORE_CONFIG_H_ */
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2 +++ b/naspro-core/nacore.pc.in Thu Mar 25 18:16:12 2010 +0200 6.3 @@ -0,0 +1,11 @@ 6.4 +libdir=@LIBDIR_INSTALL@ 6.5 +includedir=@INCLUDEDIR_INSTALL@ 6.6 + 6.7 +Name: NASPRO core 6.8 +Description: The NASPRO core library 6.9 +URL: http://naspro.atheme.org 6.10 +Requires: 6.11 +Conflicts: 6.12 +Version: @NACORE_VERSION@ 6.13 +Libs: -L${libdir} -lnacore @LIBS_DL@ 6.14 +Cflags: -I${includedir}
