mirror of
https://github.com/yanyiwu/cppjieba.git
synced 2025-07-18 00:00:12 +08:00
add cmakelists.txt
This commit is contained in:
parent
e55b65fd8a
commit
a44b04df20
@ -1,4 +1,4 @@
|
||||
PROJECT(CPPJIEBA)
|
||||
ADD_SUBDIRECTORY(cppjieba)
|
||||
ADD_SUBDIRECTORY(husky)
|
||||
ADD_SUBDIRECTORY(limonp)
|
||||
ADD_SUBDIRECTORY(demo)
|
||||
|
@ -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})
|
||||
|
@ -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
8
demo/CMakeLists.txt
Normal 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)
|
@ -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
3
husky/CMakeLists.txt
Normal file
@ -0,0 +1,3 @@
|
||||
SET(LIBHUSKY_SRC Daemon.cpp ServerFrame.cpp)
|
||||
INCLUDE_DIRECTORIES(../limonp)
|
||||
ADD_LIBRARY(husky SHARED ${LIBHUSKY_SRC})
|
@ -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 $@.$$$$
|
Loading…
x
Reference in New Issue
Block a user