Revision: 8930 https://osdn.net/projects/ttssh2/scm/svn/commits/8930 Author: zmatsuo Date: 2020-09-05 00:53:57 +0900 (Sat, 05 Sep 2020) Log Message: ----------- cygtool を cmake でビルドするようにした - CMakeLists.txt 追加 - cygtool.c から #pragma comment の削除 - MinGW対策 - cygtool.mak に version.lib 追加 Modified Paths: -------------- trunk/installer/cygtool/cygtool.c trunk/installer/cygtool/cygtool.mak Added Paths: ----------- trunk/installer/cygtool/CMakeLists.txt -------------- next part -------------- Added: trunk/installer/cygtool/CMakeLists.txt =================================================================== --- trunk/installer/cygtool/CMakeLists.txt (rev 0) +++ trunk/installer/cygtool/CMakeLists.txt 2020-09-04 15:53:57 UTC (rev 8930) @@ -0,0 +1,66 @@ +add_library( + cygtool_dll SHARED + cygtool.c + cygtool.def + ) + +target_compile_options( + cygtool_dll + PRIVATE + -I ${CMAKE_CURRENT_LIST_DIR}/../../teraterm/common + ) + +target_link_libraries( + cygtool_dll + PRIVATE + version + ) + +set_target_properties( + cygtool_dll + PROPERTIES + OUTPUT_NAME "cygtool" + ) + +set_target_properties( + cygtool_dll + PROPERTIES + FOLDER installer + ) + +install( + TARGETS cygtool_dll + DESTINATION . + ) + +if(false) + add_executable( + cygtool_exe + cygtool.c + ) + + target_compile_options( + cygtool_exe + PRIVATE + -D EXE + -I ${CMAKE_CURRENT_LIST_DIR}/../../teraterm/common + ) + + target_link_libraries( + cygtool_dll + PRIVATE + version + ) + + set_target_properties( + cygtool_exe + PROPERTIES + OUTPUT_NAME "cygtool" + ) + + set_target_properties( + cygtool_exe + PROPERTIES + FOLDER installer + ) +endif() Modified: trunk/installer/cygtool/cygtool.c =================================================================== --- trunk/installer/cygtool/cygtool.c 2020-09-04 15:53:44 UTC (rev 8929) +++ trunk/installer/cygtool/cygtool.c 2020-09-04 15:53:57 UTC (rev 8930) @@ -1,4 +1,3 @@ -#pragma comment(lib, "version.lib") #include <windows.h> #include <stdio.h> @@ -105,28 +104,28 @@ LPVOID lpBuf; UINT uLen; VS_FIXEDFILEINFO *pFileInfo; - + dwSize = GetFileVersionInfoSize(dll, &dwHandle); if (dwSize == 0) { return 0; } - + lpBuf = malloc(dwSize); if (!GetFileVersionInfo(dll, dwHandle, dwSize, lpBuf)) { free(lpBuf); return 0; } - + if (!VerQueryValue(lpBuf, "\\", (LPVOID*)&pFileInfo, &uLen)) { free(lpBuf); return 0; } - + *major = HIWORD(pFileInfo->dwFileVersionMS); *minor = LOWORD(pFileInfo->dwFileVersionMS); - + free(lpBuf); - + return 1; } @@ -138,7 +137,7 @@ int file_len = sizeof(file); int version_major, version_minor; int res; - + printf("FindCygwinPath()\n"); res = FindCygwinPath("", file, file_len); printf(" result => %d\n", res); @@ -148,7 +147,7 @@ } printf(" Cygwin directory => %s\n", file); printf("\n"); - + printf("PortableExecutableMachine()\n"); strncat_s(file, sizeof(file), "\\bin\\cygwin1.dll", _TRUNCATE); printf(" Cygwin DLL => %s\n", file); @@ -167,7 +166,7 @@ break; } printf("\n"); - + printf("CygwinVersion()\n"); printf(" Cygwin DLL => %s\n", file); res = CygwinVersion(file, &version_major, &version_minor); @@ -179,7 +178,7 @@ printf(" version_major => %d\n", version_major); printf(" version_minor => %d\n", version_minor); printf("\n"); - + return 0; } #else Modified: trunk/installer/cygtool/cygtool.mak =================================================================== --- trunk/installer/cygtool/cygtool.mak 2020-09-04 15:53:44 UTC (rev 8929) +++ trunk/installer/cygtool/cygtool.mak 2020-09-04 15:53:57 UTC (rev 8930) @@ -8,10 +8,10 @@ cygtool.dll: cygtool.c $(CPP) $(CFLAG) /MT /c cygtool.c - $(LINK32) $(LDFLAG) /DEF:cygtool.def cygtool.obj + $(LINK32) $(LDFLAG) /DEF:cygtool.def cygtool.obj version.lib cygtool.exe: cygtool.c - $(CPP) $(CFLAG) /D "EXE" cygtool.c + $(CPP) $(CFLAG) /D "EXE" cygtool.c version.lib clean: del *.exe *.dll *.obj *.exp *.lib