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}
     7.1 --- a/naspro-core/src/manifest.c	Fri Mar 12 09:13:06 2010 +0200
     7.2 +++ b/naspro-core/src/manifest.c	Thu Mar 25 18:16:12 2010 +0200
     7.3 @@ -15,6 +15,8 @@
     7.4  
     7.5  #include <NASPRO/core/lib.h>
     7.6  
     7.7 +#include "config.h"
     7.8 +
     7.9  /* TODO: setlocale + multi-threading = ouch! */
    7.10  
    7.11  void
     8.1 --- a/naspro-core/src/posix/dl.c	Fri Mar 12 09:13:06 2010 +0200
     8.2 +++ b/naspro-core/src/posix/dl.c	Thu Mar 25 18:16:12 2010 +0200
     8.3 @@ -18,6 +18,8 @@
     8.4  
     8.5  #include "src/dl.h"
     8.6  
     8.7 +#include "config.h"
     8.8 +
     8.9  struct _nacore_dl_module
    8.10    {
    8.11  	void	*handle;