add cmakelists.txt

This commit is contained in:
wyy 2013-11-03 05:53:27 -08:00
parent e55b65fd8a
commit a44b04df20
7 changed files with 15 additions and 163 deletions

View File

@ -1,4 +1,4 @@
PROJECT(CPPJIEBA) PROJECT(CPPJIEBA)
ADD_SUBDIRECTORY(cppjieba) ADD_SUBDIRECTORY(cppjieba)
ADD_SUBDIRECTORY(husky) ADD_SUBDIRECTORY(husky)
ADD_SUBDIRECTORY(limonp) ADD_SUBDIRECTORY(demo)

View File

@ -1 +1,3 @@
ADD_LIBRARY(cppjieba) SET(LIBCPPJIEBA_SRC HMMSegment.cpp KeyWordExt.cpp MixSegment.cpp MPSegment.cpp Trie.cpp)
INCLUDE_DIRECTORIES(../limonp)
ADD_LIBRARY(cppjieba SHARED ${LIBCPPJIEBA_SRC})

View File

@ -1,66 +0,0 @@
CXX := g++
LD := g++
AR := ar rc
DEBUG_CXXFLAGS := -g -Wall -DDEBUG
RELEASE_CXXFLAGS := -Wall -O3
ifeq (YES, ${RELEASE})
CXXFLAGS := ${RELEASE_CXXFLAGS}
LDFLAGS := ${RELEASE_LDFLAGS}
else
CXXFLAGS := ${DEBUG_CXXFLAGS}
LDFLAGS := ${DEBUG_LDFLAGS}
endif
SOURCES := $(wildcard *.cpp)
OBJS := $(patsubst %.cpp,%.o,$(SOURCES))
INC := -I../limonp
LIBA := libcppjieba.a
# remove the objs after compilation
.INTERMEDIATE:
#.PHONY: clean $(CMLIB)
.PHONY: clean
all: $(LIBA)
# This is a suffix rule
#.c.o:
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $< $(INC)
${LIBA}: $(OBJS)
$(AR) $@ $(OBJS)
#unit test
Trie.ut: Trie.cpp Trie.h globals.h TransCode.cpp TransCode.hpp $(CMLIB)
$(CXX) -o $@ $(CXXFLAGS) Trie.cpp TransCode.cpp -DTRIE_UT $(CMLIB)
MPSegment.ut: MPSegment.cpp Trie.cpp MPSegment.h Trie.h globals.h $(CMLIB)
$(CXX) -o $@ $(CXXFLAGS) MPSegment.cpp Trie.cpp TransCode.cpp -DSEGMENT_UT $(CMLIB)
KeyWordExt.ut: KeyWordExt.cpp KeyWordExt.h MPSegment.h Trie.h globals.h TransCode.cpp TransCode.hpp $(CMLIB)
$(CXX) -o $@ $(CXXFLAGS) KeyWordExt.cpp MPSegment.cpp Trie.cpp TransCode.cpp -DKEYWORDEXT_UT $(CMLIB)
TransCode.ut: TransCode.cpp TransCode.hpp globals.h $(CMLIB)
$(CXX) -o $@ $(CXXFLAGS) TransCode.cpp -DCPPJIEBA_TRANSCODE_UT $(CMLIB)
HMMSegment.ut: HMMSegment.cpp TransCode.cpp TransCode.hpp HMMSegment.h $(CMLIB)
$(CXX) -o $@ $(CXXFLAGS) TransCode.cpp HMMSegment.cpp -DHMMSEGMENT_UT $(CMLIB)
MixSegment.ut: MixSegment.cpp MixSegment.h HMMSegment.cpp MPSegment.cpp Trie.cpp MPSegment.h Trie.h globals.h $(CMLIB)
$(CXX) -o $@ $(CXXFLAGS) MixSegment.cpp HMMSegment.cpp MPSegment.cpp Trie.cpp TransCode.cpp -DMIXSEGMENT_UT $(CMLIB)
ChineseFilter.ut: ChineseFilter.cpp ChineseFilter.hpp
$(CXX) -o $@ $(CXXFLAGS) ChineseFilter.cpp -DUT
clean:
rm -f *.o *.d *.d.* *.ut $(LIBA)
sinclude $(SOURCES:.cpp=.d)
%.d:%.cpp
@set -e; rm -f $@; \
$(CXX) -MM $< > $@.$$$$; \
sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$

8
demo/CMakeLists.txt Normal file
View File

@ -0,0 +1,8 @@
ADD_EXECUTABLE(segment.demo segment.cpp)
ADD_EXECUTABLE(server.demo server.cpp)
ADD_EXECUTABLE(keywordext.demo keywordext.cpp)
INCLUDE_DIRECTORIES(../limonp ../cppjieba ../husky)
LINK_DIRECTORIES(../cppjieba ../husky)
TARGET_LINK_LIBRARIES(segment.demo cppjieba)
TARGET_LINK_LIBRARIES(server.demo cppjieba husky -lpthread)
TARGET_LINK_LIBRARIES(keywordext.demo cppjieba)

View File

@ -1,53 +0,0 @@
CXX := g++
LD := g++
AR := ar rc
DEBUG_CXXFLAGS := -g -Wall -DDEBUG
RELEASE_CXXFLAGS := -Wall -O3
ifeq (YES, ${DEBUG})
CXXFLAGS := ${DEBUG_CXXFLAGS}
LDFLAGS := ${DEBUG_LDFLAGS}
else
CXXFLAGS := ${RELEASE_CXXFLAGS}
LDFLAGS := ${RELEASE_LDFLAGS}
endif
INCS := -I../limonp
LINK := -lpthread
SOURCES := $(wildcard *.cpp)
OBJS := $(patsubst %.cpp,%.o,$(SOURCES))
DEMOS := $(patsubst %.cpp,%.demo,$(SOURCES))
CPPJIEBADIR := ../cppjieba
LIBCPPJIEBA := $(CPPJIEBADIR)/libcppjieba.a
HUSKYDIR := ../husky
LIBHUSKYA := $(HUSKYDIR)/libhusky.a
.PHONY: clean $(LIBCPPJIEBA)
all: $(DEMOS)
%.demo: %.cpp $(LIBCPPJIEBA) $(LIBHUSKYA)
$(CXX) -o $@ $(CXXFLAGS) $^ $(INCS) $(LINK)
$(LIBCPPJIEBA):
cd $(CPPJIEBADIR) && $(MAKE)
$(LIBHUSKYA):
cd $(HUSKYDIR) && $(MAKE)
clean:
rm -f *.o *.ut *.d *.d.* $(DEMOS)
cd $(CPPJIEBADIR) && make clean
cd $(HUSKYDIR) && make clean
sinclude $(SOURCES:.cpp=.d)
%.d:%.cpp
@set -e; rm -f $@; \
$(CXX) -MM $< > $@.$$$$; \
sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$

3
husky/CMakeLists.txt Normal file
View File

@ -0,0 +1,3 @@
SET(LIBHUSKY_SRC Daemon.cpp ServerFrame.cpp)
INCLUDE_DIRECTORIES(../limonp)
ADD_LIBRARY(husky SHARED ${LIBHUSKY_SRC})

View File

@ -1,42 +0,0 @@
CXX := g++
LD := g++
AR := ar rc
DEBUG_CXXFLAGS := -g -Wall -DDEBUG
RELEASE_CXXFLAGS := -Wall -O3
ifeq (YES, ${RELEASE})
CXXFLAGS := ${RELEASE_CXXFLAGS}
LDFLAGS := ${RELEASE_LDFLAGS}
else
CXXFLAGS := ${DEBUG_CXXFLAGS}
LDFLAGS := ${DEBUG_LDFLAGS}
endif
DOLINK := $(LD) $(LDFLAGS) -o $@ $^
DOPACK := $(AR)
SOURCES = $(wildcard *.cpp)
OBJS := $(patsubst %.cpp,%.o,$(SOURCES))
INC := -I../limonp
LIBA := libhusky.a
.PHONY: clean
all: $(LIBA)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $< $(INC)
${LIBA}: $(OBJS)
$(DOPACK) $@ $(OBJS)
clean:
rm -f *.o *.d *.d.* $(LIBA)
sinclude $(SOURCES:.cpp=.d)
%.d:%.cpp
@set -e; rm -f $@; \
$(CXX) -MM $< > $@.$$$$; \
sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$