diff options
| author | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2008-12-17 20:16:55 +0000 |
|---|---|---|
| committer | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2008-12-17 20:16:55 +0000 |
| commit | 2d72446860abac08dc4f36b10fde7536f7897956 (patch) | |
| tree | 25dc114bb696bc8752d68e6e050da8d3dda5f282 /lang | |
| parent | 1cd73b4dadb8e618a0ec56289408922be42aac8a (diff) | |
More CMake work, mostly to handle both *nix and Windows builds.
Also some tweaks to generation files (like version.sh) to take both input and output files as arguments, to handle CMake when it's used for an out-of-source build.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1836 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'lang')
| -rw-r--r-- | lang/CMakeLists.txt | 62 | ||||
| -rw-r--r-- | lang/langtool.c | 18 |
2 files changed, 50 insertions, 30 deletions
diff --git a/lang/CMakeLists.txt b/lang/CMakeLists.txt index e4d75bf0d..874c9f763 100644 --- a/lang/CMakeLists.txt +++ b/lang/CMakeLists.txt @@ -1,9 +1,9 @@ -if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) - set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) -else(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) - file(RELATIVE_PATH DIR ${Anope_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) - set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/${DIR}) -endif(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) +#if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) +# set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) +#else(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) +# file(RELATIVE_PATH DIR ${Anope_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) +# set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/${DIR}) +#endif(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) #add_custom_command(OUTPUT ${BUILD_DIR}/langcomp # COMMAND ${MY_COMPILER} ${MY_COMP_ARG} ${CMAKE_CXX_CFLAGS} langcomp.c -o ${BUILD_DIR}/langcomp @@ -13,6 +13,7 @@ endif(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) set_source_files_properties(langcomp.c PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${CXXFLAGS}") #add_executable(${BUILD_DIR}/langcomp langcomp.c) add_executable(langcomp langcomp.c) +set_target_properties(langcomp PROPERTIES LINK_FLAGS "${LDFLAGS}") #set_target_properties(langcomp PROPERTIES COMPILE_FLAGS ${CXXFLAGS}) #set_target_properties(${BUILD_DIR}/langcomp PROPERTIES LINKER_LANGUAGE CXX) @@ -20,10 +21,20 @@ add_executable(langcomp langcomp.c) # COMMAND ${GREP} '^[A-Z]' en_us.l > ${BUILD_DIR}/index # MAIN_DEPENDENCY en_us.l #) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/index - COMMAND ${GREP} '^[A-Z]' ${CMAKE_CURRENT_SOURCE_DIR}/en_us.l > ${CMAKE_CURRENT_BINARY_DIR}/index - MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/en_us.l -) +if(WIN32) + set_source_files_properties(langtool.c PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${CXXFLAGS}") + add_executable(langtool langtool.c) + set_target_properties(langtool PROPERTIES LINK_FLAGS "${LDFLAGS}") + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/index + COMMAND langtool index ${CMAKE_CURRENT_SOURCE_DIR}/en_us.l ${CMAKE_CURRENT_BINARY_DIR}/index + MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/en_us.l DEPENDS langtool + ) +else(WIN32) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/index + COMMAND ${GREP} '^[A-Z]' ${CMAKE_CURRENT_SOURCE_DIR}/en_us.l > ${CMAKE_CURRENT_BINARY_DIR}/index + MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/en_us.l + ) +endif(WIN32) #add_custom_target(lang_index DEPENDS ${BUILD_DIR}/index) #add_custom_target(language) @@ -56,11 +67,18 @@ endforeach(LANG_L) # COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/language.h ${Anope_SOURCE_DIR}/include/ # MAIN_DEPENDENCY ${BUILD_DIR}/index #) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/language.h - COMMAND ${PERL} -e < ${CMAKE_CURRENT_BINARY_DIR}/index > ${CMAKE_CURRENT_BINARY_DIR}/language.h 'print STDERR \"Generating language.h... \"\; $$i=0\; while \(<>\) { chop\; printf \"\#define %-32s %d\\n\", $$_, $$i++\; } print \"\\n\#define NUM_STRINGS $$i\\n\"\; print STDERR \"$$i strings\\n\"\;' - #COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/language.h ${Anope_SOURCE_DIR}/include/ - MAIN_DEPENDENCY ${CMAKE_CURRENT_BINARY_DIR}/index -) +if(WIN32) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/language.h + COMMAND langtool language.h ${CMAKE_CURRENT_BINARY_DIR}/index ${CMAKE_CURRENT_BINARY_DIR}/language.h + MAIN_DEPENDENCY ${CMAKE_CURRENT_BINARY_DIR}/index DEPENDS langtool + ) +else(WIN32) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/language.h + COMMAND ${PERL} -e < ${CMAKE_CURRENT_BINARY_DIR}/index > ${CMAKE_CURRENT_BINARY_DIR}/language.h 'print STDERR \"Generating language.h... \"\; $$i=0\; while \(<>\) { chop\; printf \"\#define %-32s %d\\n\", $$_, $$i++\; } print \"\\n\#define NUM_STRINGS $$i\\n\"\; print STDERR \"$$i strings\\n\"\;' + #COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/language.h ${Anope_SOURCE_DIR}/include/ + MAIN_DEPENDENCY ${CMAKE_CURRENT_BINARY_DIR}/index + ) +endif(WIN32) #add_custom_target(lang_language_h DEPENDS ${BUILD_DIR}/language.h) #add_dependencies(language lang_language_h) #add_dependencies(language ${BUILD_DIR}/language.h) @@ -76,9 +94,11 @@ install(FILES ${LANGS} DESTINATION "${DATADIR}/languages" PERMISSIONS ${PERMS} ) -if(RUNGROUP) - #install(CODE "execute_process(COMMAND ${CHGRP} -R ${RUNGROUP} \"${DATADIR}/languages\")") - install(CODE "execute_process(COMMAND ${CHMOD} 2775 \"${DATADIR}/languages\")") -else(RUNGROUP) - install(CODE "execute_process(COMMAND ${CHMOD} 0700 \"${DATADIR}/languages\")") -endif(RUNGROUP) +if(NOT WIN32) + if(RUNGROUP) + #install(CODE "execute_process(COMMAND ${CHGRP} -R ${RUNGROUP} \"${DATADIR}/languages\")") + install(CODE "execute_process(COMMAND ${CHMOD} 2775 \"${DATADIR}/languages\")") + else(RUNGROUP) + install(CODE "execute_process(COMMAND ${CHMOD} 0700 \"${DATADIR}/languages\")") + endif(RUNGROUP) +endif(NOT WIN32) diff --git a/lang/langtool.c b/lang/langtool.c index 21890c054..3efae3c1b 100644 --- a/lang/langtool.c +++ b/lang/langtool.c @@ -6,8 +6,8 @@ * Please read COPYING and README for furhter details.
*
* Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
+ * Based on the original code of Services by Andy Church.
+ *
* Written by Dominick Meglio <codemastr@unrealircd.com>
*
*/
@@ -29,14 +29,14 @@ char *strip(char *str) int main(int argc, char *argv[])
{
- if (argc < 2)
+ if (argc < 4)
exit(1);
/* Build the index file */
if (!strcmp(argv[1], "index"))
{
- FILE *fd = fopen("en_us.l", "rb");
- FILE *fdout = fopen("index", "wb");
+ FILE *fd = fopen(argv[2], "rb");
+ FILE *fdout = fopen(argv[3], "wb");
char buf[1024];
if (!fd || !fdout)
exit(2);
@@ -52,10 +52,10 @@ int main(int argc, char *argv[]) /* Build the language.h file */
else if (!strcmp(argv[1], "language.h"))
{
- FILE *fd = fopen("index", "r");
- FILE *fdout = fopen("language.h", "w");
+ FILE *fd = fopen(argv[2], "r");
+ FILE *fdout = fopen(argv[3], "w");
char buf[1024];
- int i = 0;
+ int i = 0;
if (!fd || !fdout)
exit(2);
@@ -72,5 +72,5 @@ int main(int argc, char *argv[]) fclose(fdout);
}
return 0;
-
+
}
|
